<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Akerge</id>
	<title>ICO wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Akerge"/>
	<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php/Special:Contributions/Akerge"/>
	<updated>2026-05-05T20:58:23Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=114854</id>
		<title>Logging - Monitoring C21</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=114854"/>
		<updated>2016-11-24T07:57:09Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* Nagios Monitoring */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Logging and Monitoring with Graylog&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Course: Logging and Monitoring - Lecturer: Margus Ernits&lt;br /&gt;
&lt;br /&gt;
Group: Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Team members: Ender Phan, Kustas Kurval, Sheela Gowry Sumathi Raju, Artur Vincent Kerge&lt;br /&gt;
&lt;br /&gt;
Page created on: October 05, 2016&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In order to understand how to set up the Graylog service as well as understand its crucial roles. We decided to choose Graylog as our application for logging and monitoring. Below are our objectives which would be expected to achieve later on:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to install Graylog on Ubuntu 14.04.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to use Graylog to protect servers.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Upgrading and configuring Graylog at first, and know how to secure Graylog.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Threats and security during logging.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to install Netdata and Monitoring with Netdata.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to install Nagios and Monitoring with Nagios.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Trouble shooting and experiences.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Installation Guide =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ubuntu 14.04&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Graylog_simple_setup_v2.png]]&lt;br /&gt;
&lt;br /&gt;
== Logging Solutions ==&lt;br /&gt;
&lt;br /&gt;
Since the Elasticsearch is based on java, we would require to install either openJDK or Oracle JDK. It is recommended to install Oracle JDK, verify the java version by using the following command.&lt;br /&gt;
&lt;br /&gt;
Remove the OpenJDK from the system, if you have it already installed. From now on it is presumed that user has root privileges.&lt;br /&gt;
&lt;br /&gt;
 apt-get remove --purge openjdk*&lt;br /&gt;
Add repository.&lt;br /&gt;
&lt;br /&gt;
 add-apt-repository -y ppa:webupd8team/java&lt;br /&gt;
Run the following command to pull the packages information from the newly added repository.&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
Issue the following command to install Java jdk 1.8.&lt;br /&gt;
&lt;br /&gt;
 apt-get -y install oracle-java8-installer&lt;br /&gt;
&lt;br /&gt;
 java -version&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
&lt;br /&gt;
 Java version &amp;quot;1.8.0_60&amp;quot;&lt;br /&gt;
 Java(TM) SE Runtime Environment (build 1.8.0_60-b27)&lt;br /&gt;
 Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)&lt;br /&gt;
&lt;br /&gt;
=== Installing extras ===&lt;br /&gt;
&lt;br /&gt;
=== Elasticsearch ===&lt;br /&gt;
&lt;br /&gt;
Let’s install Elasticsearch, it can be downloaded from the official website.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Download and install GPG signing key&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
Note that the -qO argument is lowercase Quebec followed by capital Oscar.&lt;br /&gt;
&lt;br /&gt;
Save the repository definition to /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;deb http://packages.elastic.co/elasticsearch/2.x/debian stable main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
Update repository cache and install Elasticsearch&lt;br /&gt;
&lt;br /&gt;
 apt-get update &amp;amp;&amp;amp; apt-get install elasticsearch&lt;br /&gt;
&lt;br /&gt;
Configure Elasticsearch to start during system startup.&lt;br /&gt;
&lt;br /&gt;
 update-rc.d elasticsearch defaults&lt;br /&gt;
The only important thing is to set a cluster name as “graylog2“, that is being used by graylog. Now edit the configuration file of Elasticsearch.&lt;br /&gt;
&lt;br /&gt;
 nano /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
&lt;br /&gt;
 cluster.name: graylog2&lt;br /&gt;
&lt;br /&gt;
In the same file disable dynamic scripts to avoid remote execution. That can be done by adding the following line:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FOLLOWING LINE GOES INTO GRAYLOG CONF!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 script.disable_dynamic: true&lt;br /&gt;
&lt;br /&gt;
Once it is done, we are good to go. Before that, restart the Elasticsearch services to load the modified configuration.&lt;br /&gt;
&lt;br /&gt;
 service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
Wait at least a minute to let the Elasticsearch get fully restarted, otherwise testing will fail. Elastisearch should be now listen on 9200 for processing HTTP request, we can use CURL to get the response. Ensure that it returns with cluster name as “graylog2”&lt;br /&gt;
&lt;br /&gt;
 curl -X GET http://localhost:9200&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;status&amp;quot; : 200,&lt;br /&gt;
   &amp;quot;name&amp;quot; : &amp;quot;Pistol&amp;quot;,&lt;br /&gt;
   &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
   &amp;quot;version&amp;quot; : {&lt;br /&gt;
    &amp;quot;number&amp;quot; : &amp;quot;1.7.1&amp;quot;,&lt;br /&gt;
    &amp;quot;build_hash&amp;quot; : &amp;quot;b88f43fc40b0bcd7f173a1f9ee2e97816de80b19&amp;quot;,&lt;br /&gt;
    &amp;quot;build_timestamp&amp;quot; : &amp;quot;2015-07-29T09:54:16Z&amp;quot;,&lt;br /&gt;
    &amp;quot;build_snapshot&amp;quot; : false,&lt;br /&gt;
    &amp;quot;lucene_version&amp;quot; : &amp;quot;4.10.4&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;tagline&amp;quot; : &amp;quot;You Know, for Search&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Optional: Use the following command to check the Elasticsearch cluster health, you must get a cluster status as “green” for graylog to work.&lt;br /&gt;
&lt;br /&gt;
 curl -XGET &#039;http://localhost:9200/_cluster/health?pretty=true&#039;&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;status&amp;quot; : &amp;quot;&#039;&#039;&#039;green&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;timed_out&amp;quot; : false,&lt;br /&gt;
  &amp;quot;number_of_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;number_of_data_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;active_primary_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;active_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;relocating_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;initializing_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;delayed_unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_pending_tasks&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_in_flight_fetch&amp;quot; : 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== MongoDB ===&lt;br /&gt;
&lt;br /&gt;
MongoDB is available in deb format and same can be downloaded from the official website. Add the following repository information on the system to install MongoDB. Before that we must import public key.&lt;br /&gt;
&lt;br /&gt;
 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10&lt;br /&gt;
Add repository by creating the /etc/apt/sources.list.d/mongodb-org-3.0.list list file using the command.&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse&amp;quot; | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list&lt;br /&gt;
Update repository cache.&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
Install MongoDB using the following command.&lt;br /&gt;
&lt;br /&gt;
 apt-get install mongodb-org&lt;br /&gt;
Start the MongoDB service and enable it to start automatically during the system start-up.&lt;br /&gt;
&lt;br /&gt;
 service mongod start&lt;br /&gt;
&lt;br /&gt;
 ln -s /usr/bin/mongod /etc/init.d/mongod&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link&lt;br /&gt;
&lt;br /&gt;
 update-rc.d mongod defaults&lt;br /&gt;
&lt;br /&gt;
=== Graylog2 ===&lt;br /&gt;
&lt;br /&gt;
Graylog-server accepts and process the log messages, also spawns the RESTAPI for the requests that comes from graylog-web-interface. Download the latest version of graylog from graylog.org,&lt;br /&gt;
&lt;br /&gt;
Use the following command to install graylog2 repository.&lt;br /&gt;
&lt;br /&gt;
 wget https://packages.graylog2.org/repo/packages/graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
&lt;br /&gt;
 dpkg -i graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
Install https suppport and update the repository cache.&lt;br /&gt;
&lt;br /&gt;
 apt-get install apt-transport-https&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
Install Graylog server using following command.&lt;br /&gt;
&lt;br /&gt;
 apt-get install graylog-server &lt;br /&gt;
Edit the server.conf file.&lt;br /&gt;
&lt;br /&gt;
 nano /etc/graylog/server/server.conf&lt;br /&gt;
Configure the following variables in the above file.&lt;br /&gt;
&lt;br /&gt;
Set a secret to secure the user passwords, use the following command to generate a secret, use at least 64 character’s.&lt;br /&gt;
&lt;br /&gt;
 pwgen -N 1 -s 96&lt;br /&gt;
&lt;br /&gt;
 OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
If you get a “pwgen: command not found“, use the following command to install pwgen.&lt;br /&gt;
&lt;br /&gt;
 apt-get install pwgen&lt;br /&gt;
&lt;br /&gt;
Place the secret.&lt;br /&gt;
&lt;br /&gt;
 password_secret = OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
Next is to set a hash password for the root user (not to be confused with system user, root user of graylog is admin). You will use this password for login into the web interface, admin’s password can not be changed using web interface, must edit this variable to set.&lt;br /&gt;
&lt;br /&gt;
Replace “yourpassword” with the choice of your’s.&lt;br /&gt;
&lt;br /&gt;
 echo -n yourpassword | sha256sum&lt;br /&gt;
&lt;br /&gt;
 e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
&lt;br /&gt;
Place the hash password.&lt;br /&gt;
&lt;br /&gt;
 root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
&lt;br /&gt;
You can setup email address root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_email = &amp;quot;cyber.web@gmail.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Set timezone of root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_timezone = UTC&lt;br /&gt;
&lt;br /&gt;
Graylog will try to find the Elasticsearch nodes automatically, it uses multicast mode for the same. But when it comes to larger network, it is recommended to use unicast mode which is best suited one for production setups. So add the following two entries to graylog server.conf file, replace ipaddress with live hostname or ipaddress. Multiple hosts can be added with comma separated.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_http_enabled = false&lt;br /&gt;
 elasticsearch_discovery_zen_ping_unicast_hosts = ipaddress:9300&lt;br /&gt;
&lt;br /&gt;
Set only one master node by defining the below variable, default setting is true, you must set it as a false to make the particular node as a slave. Master node performs some periodic tasks that slave won’t perform.&lt;br /&gt;
&lt;br /&gt;
 is_master = true&lt;br /&gt;
&lt;br /&gt;
The following variable sets the number of log messages to keep per index, it is recommended to have several smaller indices instead of larger ones.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_docs_per_index = 20000000&lt;br /&gt;
&lt;br /&gt;
The following parameter defines to have total number of indices, if the this number is reached old index will be deleted.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_number_of_indices = 20&lt;br /&gt;
&lt;br /&gt;
Shards setting is really depends on the number of nodes in the Elasticsearch cluster, if you have only one node, set it as 1.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_shards = 1&lt;br /&gt;
&lt;br /&gt;
The number of replicas for your indices, if you have only one node in Elasticsearch cluster; set it as 0.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_replicas = 0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Restart Graylog service.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 service graylog-server restart&lt;br /&gt;
&lt;br /&gt;
Enable auto start of graylog server service during system startup.&lt;br /&gt;
&lt;br /&gt;
 update-rc.d graylog-server defaults&lt;br /&gt;
&lt;br /&gt;
You can check out the server startup logs, it will be useful for you to troubleshoot graylog in case of any issue.&lt;br /&gt;
&lt;br /&gt;
 tailf /var/log/graylog-server/server.log&lt;br /&gt;
&lt;br /&gt;
On successful start of graylog-server, you should get the following message in the log file.&lt;br /&gt;
&lt;br /&gt;
 2015-09-17T09:35:22.895+02:00 INFO  [ServerBootstrap] Graylog server up and running.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Graylog web interface:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To configure graylog-web-interface, you must have at least one graylog-server node. Install Graylog web interface using “apt-get”.&lt;br /&gt;
&lt;br /&gt;
 apt-get install graylog-web&lt;br /&gt;
&lt;br /&gt;
Edit the configuration file and set the following parameters.&lt;br /&gt;
&lt;br /&gt;
 nano /etc/graylog/web/web.conf&lt;br /&gt;
&lt;br /&gt;
This is the list of graylog-server nodes, you can add multiple nodes, separate by commas.&lt;br /&gt;
&lt;br /&gt;
 graylog2-server.uris=&amp;quot;http://127.0.0.1:12900/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Set the application scret and can be generated using pwgen -N 1 -s 96.&lt;br /&gt;
&lt;br /&gt;
application.secret=&amp;quot;sNXyFf6B4Au3GqSlZwq7En86xp10JimdxxYiLtpptOejX6tIUpUE4DGRJOrcMj07wcK0wugPaapvzEzCYinEWj7BOtHXVl5Z&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Set Web interface timezone.&lt;br /&gt;
&lt;br /&gt;
 Timezone=&amp;quot;Europe/Tallinn&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Restart the gralog-web-interface using following command,&lt;br /&gt;
&lt;br /&gt;
 service graylog-web restart&lt;br /&gt;
&lt;br /&gt;
Enable auto start of web interface service during system startup.&lt;br /&gt;
&lt;br /&gt;
 update-rc.d graylog-web defaults&lt;br /&gt;
&lt;br /&gt;
== Monitoring Solutions ==&lt;br /&gt;
* Netdata&lt;br /&gt;
&lt;br /&gt;
* Nagios&lt;br /&gt;
=== Netdata Monitoring ===&lt;br /&gt;
[[File:Netdata.gif]]&lt;br /&gt;
&lt;br /&gt;
Linus Distribution: Debian Linux and its derivatives (including Ubuntu, Mint)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install nessesary packages:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Install the packages for having a basic netdata installation (system monitoring and many applications, without mysql / mariadb, postgres, named, hardware sensors and SNMP):&lt;br /&gt;
&lt;br /&gt;
  curl -Ss &#039;https://raw.githubusercontent.com/firehol/netdata-demo-site/master/install-required-packages.sh&#039; &amp;gt;/tmp/kickstart.sh &amp;amp;&amp;amp; bash /tmp/kickstart.sh netdata&lt;br /&gt;
&lt;br /&gt;
Install all the required packages for monitoring everything netdata can monitor:&lt;br /&gt;
&lt;br /&gt;
  curl -Ss &#039;https://raw.githubusercontent.com/firehol/netdata-demo-site/master/install-required-packages.sh&#039; &amp;gt;/tmp/kickstart.sh &amp;amp;&amp;amp; bash /tmp/kickstart.sh netdata-all&lt;br /&gt;
&lt;br /&gt;
  apt-get install zlib1g-dev uuid-dev libmnl-dev gcc make git autoconf autoconf-archive autogen automake pkg-config curl&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Netdata&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Download it - the directory &#039;netdata&#039; will be created&lt;br /&gt;
  git clone https://github.com/firehol/netdata.git --depth=1&lt;br /&gt;
  cd netdata&lt;br /&gt;
&lt;br /&gt;
Build it, install it, start it&lt;br /&gt;
  ./netdata-installer.sh&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;starting netdata at boot&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Copy the netdata startup file to /etc/init.d&lt;br /&gt;
  cp system/netdata-lsb /etc/init.d/netdata&lt;br /&gt;
&lt;br /&gt;
Make sure it is executable&lt;br /&gt;
  chmod +x /etc/init.d/netdata&lt;br /&gt;
&lt;br /&gt;
Enable it&lt;br /&gt;
  update-rc.d netdata defaults&lt;br /&gt;
&lt;br /&gt;
Access to web interface&lt;br /&gt;
 &lt;br /&gt;
 http://&amp;lt;ipaddress&amp;gt;:19999&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Referenced : https://github.com/firehol/netdata/wiki/Installation&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Nagios Monitoring ===&lt;br /&gt;
[[File:Nagios.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Check your PHP service has been installed on your server:&lt;br /&gt;
&lt;br /&gt;
  which php&lt;br /&gt;
&lt;br /&gt;
Or Install PHP (version 5): &lt;br /&gt;
&lt;br /&gt;
  apt-get install php5-common libapache2-mod-php5 php5-cli&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Downloading the Latest Release&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Make sure to download the Nagios XI installation package to the /tmp directory of the server on which you wish to install it, as shown in&lt;br /&gt;
the following commands:&lt;br /&gt;
&lt;br /&gt;
  cd /tmp&lt;br /&gt;
&lt;br /&gt;
To download the latest stable release, use the following command:&lt;br /&gt;
&lt;br /&gt;
  wget http://assets.nagios.com/downloads/nagiosxi/xi-latest.tar.gz&lt;br /&gt;
&lt;br /&gt;
  tar xzf xi-latest.tar.gz&lt;br /&gt;
&lt;br /&gt;
  cd /tmp/nagiosxi&lt;br /&gt;
&lt;br /&gt;
  ./fullinstall&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: It will take around 5 minutes to finish the installation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You are access the Nagios XI interface by pointing your web browser to:&lt;br /&gt;
&lt;br /&gt;
  http://&amp;lt;ipaddress&amp;gt;/nagiosxi OR http://&amp;lt;ipaddress&amp;gt;/nagiosql/install&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: An empty file named ENABLE_INSTALLER is necessary to create in install/ directory to continue with installation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Troubleshooting&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I got the problem with the given IP after finishing installation, it gave me wrong IP to access. But just ignore it and go to your correct IP of your web server: &lt;br /&gt;
&lt;br /&gt;
  http://&amp;lt;ipaddress&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  without &amp;quot;/nagiosxi&amp;quot;&lt;br /&gt;
&lt;br /&gt;
It will show the installation GUI and you just need to follow and login after all.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Referenced: https://assets.nagios.com/downloads/nagiosxi/docs/XI_Manual_Installation_Instructions.pdf&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Install Plugins ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Locate Your Plugin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Visit this website to download plugins: http://exchange.nagios.org. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Plugin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Click the Admin menu --&amp;gt; Manage Plugins &lt;br /&gt;
&lt;br /&gt;
 Click the Browse button --&amp;gt; click the Upload Plugin button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Test Your Plugin From The Command Line&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
  cd /usr/local/nagios/libexec&lt;br /&gt;
  &lt;br /&gt;
  ./plugin_name arg1 arg2 ...&lt;br /&gt;
&lt;br /&gt;
*See the document of plugin to get more detail of its arguments&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define A Command&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 browse to Configure → Core&lt;br /&gt;
&lt;br /&gt;
 Configuration Manager → Commands and click Add New.&lt;br /&gt;
&lt;br /&gt;
Enter a Command Name, usually the same as the plugin&lt;br /&gt;
filename. Next in the Command Line field, enter&lt;br /&gt;
$USER1$/plugin_name $ARG1$. The $USER1$ macro is&lt;br /&gt;
replaced with the path to the plugin directory, while the&lt;br /&gt;
$ARG1$ macro is a placeholder for an argument you want to&lt;br /&gt;
specify later on a per-service basis. If you want, you can omit&lt;br /&gt;
$ARG1$ or add more ($ARG2$, $ARG3$, etc.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Click Save --&amp;gt; Apply Configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Add A Service&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In the left-hand menu&lt;br /&gt;
&lt;br /&gt;
 Click Services --&amp;gt; click Add New.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Config Name&#039;&#039;&#039; field, enter the file name where the&lt;br /&gt;
configuration will be stored. Next enter a description of the&lt;br /&gt;
service in the Description field. Associate the service with a&lt;br /&gt;
host by clicking the Manage Host button.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Check command&#039;&#039;&#039; field, select the command you defined&lt;br /&gt;
above from the dropdown list. If you had any argument&lt;br /&gt;
placeholders when you defined the command earlier, enter&lt;br /&gt;
replacement text in the appropriate argument fields.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Manage Templates&#039;&#039;&#039; button allows you to apply a template&lt;br /&gt;
to this service which will save you from having to fill in all the&lt;br /&gt;
other configuration options, or you can enter the required&lt;br /&gt;
Check and Alert settings manually.&lt;br /&gt;
&lt;br /&gt;
 Save --&amp;gt; Apply Configuration again&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Verify Your Service Is Working&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Navigate to&lt;br /&gt;
&lt;br /&gt;
  Home → Service Detail  &lt;br /&gt;
&lt;br /&gt;
Look for your new service in the list. It will probably take a few minutes before it runs its first check.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Referenced: https://assets.nagios.com/downloads/nagiosxi/docs/Managing-Plugins-in-Nagios-XI.pdf&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Experiences =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Graylog&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In during installation time, we have found some problems which will impact on our your installation as well.&lt;br /&gt;
&lt;br /&gt;
- The version of Ubuntu and Graylog might conflict each other as well as Graylog&#039;s packages ( e.g : java )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nagios&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I have faced some of certain problem with installing Plugin for Nagios. First of all, you need to check if the plugins you want to use is supported for the OS of the server you are running, for example the plugin is written for Windows Server but you are running Linux server, thus it will give you an error about its format or bunch of error which is difficult to determine exactly its trouble.&lt;br /&gt;
&lt;br /&gt;
Furthermore, once you wish to add the plugin as a service. Please pay attention on the &amp;quot;Service Name&amp;quot; and &amp;quot;Manage Host&amp;quot; which might effect to your installation as well.&lt;br /&gt;
&lt;br /&gt;
= Summary =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Graylog&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
During the installation Graylogs in both versions of Ubuntu ( 14.04 and 16.0 ). We realized that it had many differences between these versions. Listed above our objectives what we expect to achieve after installing and using Graylog, along with its useful information and its interaction between Administrator (users) with Graylog.&lt;br /&gt;
&lt;br /&gt;
its advantages:&lt;br /&gt;
 + Free.&lt;br /&gt;
 + Easy to interact with web interface.&lt;br /&gt;
 + Easy to install with the good support from its sources.&lt;br /&gt;
 + Help Administrator (user) to collect information in during logging and monitoring straightforwardly.&lt;br /&gt;
 + Many useful tools ( plugins ) which supports to work on.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nagios&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The reason I choose Nagios as my monitoring solution is because it is quite fully functions which help people can handle the services on the server for example it points out detail notification of crucial services such as manage users, HTTP, SSH..so forth. I am using a trial version, but it&#039;s seem pretty enough for beginner to &amp;quot;hangout&amp;quot; with Monitoring tool at first.&lt;br /&gt;
&lt;br /&gt;
This is my opinion of its advantages:&lt;br /&gt;
&lt;br /&gt;
 + Easy to install with many ways with official guide from Nagios Supports.&lt;br /&gt;
 + Good trial version to barely use for beginner.&lt;br /&gt;
 + There are some useful extensions, plugins which are free and easy to install.&lt;br /&gt;
 + Easy to handle with web interface.&lt;br /&gt;
 + Does not take many space of hard disk.&lt;br /&gt;
&lt;br /&gt;
Another hand, it also has disadvantages:&lt;br /&gt;
&lt;br /&gt;
 + Too expensive for license version.&lt;br /&gt;
 + Lack of plugins development, some of them is quite old as well.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;http://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/how-to-install-graylog2-on-ubuntu-14-04.html&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;https://assets.nagios.com/downloads/nagiosxi/docs/Managing-Plugins-in-Nagios-XI.pdf&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;https://assets.nagios.com/downloads/nagiosxi/docs/XI_Manual_Installation_Instructions.pdf&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;https://github.com/firehol/netdata/wiki/Installation&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=114853</id>
		<title>Logging - Monitoring C21</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=114853"/>
		<updated>2016-11-24T07:37:23Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* Nagios Monitoring */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Logging and Monitoring with Graylog&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Course: Logging and Monitoring - Lecturer: Margus Ernits&lt;br /&gt;
&lt;br /&gt;
Group: Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Team members: Ender Phan, Kustas Kurval, Sheela Gowry Sumathi Raju, Artur Vincent Kerge&lt;br /&gt;
&lt;br /&gt;
Page created on: October 05, 2016&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In order to understand how to set up the Graylog service as well as understand its crucial roles. We decided to choose Graylog as our application for logging and monitoring. Below are our objectives which would be expected to achieve later on:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to install Graylog on Ubuntu 14.04.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to use Graylog to protect servers.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Upgrading and configuring Graylog at first, and know how to secure Graylog.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Threats and security during logging.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to install Netdata and Monitoring with Netdata.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to install Nagios and Monitoring with Nagios.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Trouble shooting and experiences.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Installation Guide =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ubuntu 14.04&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Graylog_simple_setup_v2.png]]&lt;br /&gt;
&lt;br /&gt;
== Logging Solutions ==&lt;br /&gt;
&lt;br /&gt;
Since the Elasticsearch is based on java, we would require to install either openJDK or Oracle JDK. It is recommended to install Oracle JDK, verify the java version by using the following command.&lt;br /&gt;
&lt;br /&gt;
Remove the OpenJDK from the system, if you have it already installed. From now on it is presumed that user has root privileges.&lt;br /&gt;
&lt;br /&gt;
 apt-get remove --purge openjdk*&lt;br /&gt;
Add repository.&lt;br /&gt;
&lt;br /&gt;
 add-apt-repository -y ppa:webupd8team/java&lt;br /&gt;
Run the following command to pull the packages information from the newly added repository.&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
Issue the following command to install Java jdk 1.8.&lt;br /&gt;
&lt;br /&gt;
 apt-get -y install oracle-java8-installer&lt;br /&gt;
&lt;br /&gt;
 java -version&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
&lt;br /&gt;
 Java version &amp;quot;1.8.0_60&amp;quot;&lt;br /&gt;
 Java(TM) SE Runtime Environment (build 1.8.0_60-b27)&lt;br /&gt;
 Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)&lt;br /&gt;
&lt;br /&gt;
=== Installing extras ===&lt;br /&gt;
&lt;br /&gt;
=== Elasticsearch ===&lt;br /&gt;
&lt;br /&gt;
Let’s install Elasticsearch, it can be downloaded from the official website.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Download and install GPG signing key&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
Note that the -qO argument is lowercase Quebec followed by capital Oscar.&lt;br /&gt;
&lt;br /&gt;
Save the repository definition to /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;deb http://packages.elastic.co/elasticsearch/2.x/debian stable main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
Update repository cache and install Elasticsearch&lt;br /&gt;
&lt;br /&gt;
 apt-get update &amp;amp;&amp;amp; apt-get install elasticsearch&lt;br /&gt;
&lt;br /&gt;
Configure Elasticsearch to start during system startup.&lt;br /&gt;
&lt;br /&gt;
 update-rc.d elasticsearch defaults&lt;br /&gt;
The only important thing is to set a cluster name as “graylog2“, that is being used by graylog. Now edit the configuration file of Elasticsearch.&lt;br /&gt;
&lt;br /&gt;
 nano /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
&lt;br /&gt;
 cluster.name: graylog2&lt;br /&gt;
&lt;br /&gt;
In the same file disable dynamic scripts to avoid remote execution. That can be done by adding the following line:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FOLLOWING LINE GOES INTO GRAYLOG CONF!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 script.disable_dynamic: true&lt;br /&gt;
&lt;br /&gt;
Once it is done, we are good to go. Before that, restart the Elasticsearch services to load the modified configuration.&lt;br /&gt;
&lt;br /&gt;
 service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
Wait at least a minute to let the Elasticsearch get fully restarted, otherwise testing will fail. Elastisearch should be now listen on 9200 for processing HTTP request, we can use CURL to get the response. Ensure that it returns with cluster name as “graylog2”&lt;br /&gt;
&lt;br /&gt;
 curl -X GET http://localhost:9200&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;status&amp;quot; : 200,&lt;br /&gt;
   &amp;quot;name&amp;quot; : &amp;quot;Pistol&amp;quot;,&lt;br /&gt;
   &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
   &amp;quot;version&amp;quot; : {&lt;br /&gt;
    &amp;quot;number&amp;quot; : &amp;quot;1.7.1&amp;quot;,&lt;br /&gt;
    &amp;quot;build_hash&amp;quot; : &amp;quot;b88f43fc40b0bcd7f173a1f9ee2e97816de80b19&amp;quot;,&lt;br /&gt;
    &amp;quot;build_timestamp&amp;quot; : &amp;quot;2015-07-29T09:54:16Z&amp;quot;,&lt;br /&gt;
    &amp;quot;build_snapshot&amp;quot; : false,&lt;br /&gt;
    &amp;quot;lucene_version&amp;quot; : &amp;quot;4.10.4&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;tagline&amp;quot; : &amp;quot;You Know, for Search&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Optional: Use the following command to check the Elasticsearch cluster health, you must get a cluster status as “green” for graylog to work.&lt;br /&gt;
&lt;br /&gt;
 curl -XGET &#039;http://localhost:9200/_cluster/health?pretty=true&#039;&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;status&amp;quot; : &amp;quot;&#039;&#039;&#039;green&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;timed_out&amp;quot; : false,&lt;br /&gt;
  &amp;quot;number_of_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;number_of_data_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;active_primary_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;active_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;relocating_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;initializing_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;delayed_unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_pending_tasks&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_in_flight_fetch&amp;quot; : 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== MongoDB ===&lt;br /&gt;
&lt;br /&gt;
MongoDB is available in deb format and same can be downloaded from the official website. Add the following repository information on the system to install MongoDB. Before that we must import public key.&lt;br /&gt;
&lt;br /&gt;
 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10&lt;br /&gt;
Add repository by creating the /etc/apt/sources.list.d/mongodb-org-3.0.list list file using the command.&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse&amp;quot; | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list&lt;br /&gt;
Update repository cache.&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
Install MongoDB using the following command.&lt;br /&gt;
&lt;br /&gt;
 apt-get install mongodb-org&lt;br /&gt;
Start the MongoDB service and enable it to start automatically during the system start-up.&lt;br /&gt;
&lt;br /&gt;
 service mongod start&lt;br /&gt;
&lt;br /&gt;
 ln -s /usr/bin/mongod /etc/init.d/mongod&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link&lt;br /&gt;
&lt;br /&gt;
 update-rc.d mongod defaults&lt;br /&gt;
&lt;br /&gt;
=== Graylog2 ===&lt;br /&gt;
&lt;br /&gt;
Graylog-server accepts and process the log messages, also spawns the RESTAPI for the requests that comes from graylog-web-interface. Download the latest version of graylog from graylog.org,&lt;br /&gt;
&lt;br /&gt;
Use the following command to install graylog2 repository.&lt;br /&gt;
&lt;br /&gt;
 wget https://packages.graylog2.org/repo/packages/graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
&lt;br /&gt;
 dpkg -i graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
Install https suppport and update the repository cache.&lt;br /&gt;
&lt;br /&gt;
 apt-get install apt-transport-https&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
Install Graylog server using following command.&lt;br /&gt;
&lt;br /&gt;
 apt-get install graylog-server &lt;br /&gt;
Edit the server.conf file.&lt;br /&gt;
&lt;br /&gt;
 nano /etc/graylog/server/server.conf&lt;br /&gt;
Configure the following variables in the above file.&lt;br /&gt;
&lt;br /&gt;
Set a secret to secure the user passwords, use the following command to generate a secret, use at least 64 character’s.&lt;br /&gt;
&lt;br /&gt;
 pwgen -N 1 -s 96&lt;br /&gt;
&lt;br /&gt;
 OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
If you get a “pwgen: command not found“, use the following command to install pwgen.&lt;br /&gt;
&lt;br /&gt;
 apt-get install pwgen&lt;br /&gt;
&lt;br /&gt;
Place the secret.&lt;br /&gt;
&lt;br /&gt;
 password_secret = OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
Next is to set a hash password for the root user (not to be confused with system user, root user of graylog is admin). You will use this password for login into the web interface, admin’s password can not be changed using web interface, must edit this variable to set.&lt;br /&gt;
&lt;br /&gt;
Replace “yourpassword” with the choice of your’s.&lt;br /&gt;
&lt;br /&gt;
 echo -n yourpassword | sha256sum&lt;br /&gt;
&lt;br /&gt;
 e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
&lt;br /&gt;
Place the hash password.&lt;br /&gt;
&lt;br /&gt;
 root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
&lt;br /&gt;
You can setup email address root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_email = &amp;quot;cyber.web@gmail.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Set timezone of root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_timezone = UTC&lt;br /&gt;
&lt;br /&gt;
Graylog will try to find the Elasticsearch nodes automatically, it uses multicast mode for the same. But when it comes to larger network, it is recommended to use unicast mode which is best suited one for production setups. So add the following two entries to graylog server.conf file, replace ipaddress with live hostname or ipaddress. Multiple hosts can be added with comma separated.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_http_enabled = false&lt;br /&gt;
 elasticsearch_discovery_zen_ping_unicast_hosts = ipaddress:9300&lt;br /&gt;
&lt;br /&gt;
Set only one master node by defining the below variable, default setting is true, you must set it as a false to make the particular node as a slave. Master node performs some periodic tasks that slave won’t perform.&lt;br /&gt;
&lt;br /&gt;
 is_master = true&lt;br /&gt;
&lt;br /&gt;
The following variable sets the number of log messages to keep per index, it is recommended to have several smaller indices instead of larger ones.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_docs_per_index = 20000000&lt;br /&gt;
&lt;br /&gt;
The following parameter defines to have total number of indices, if the this number is reached old index will be deleted.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_number_of_indices = 20&lt;br /&gt;
&lt;br /&gt;
Shards setting is really depends on the number of nodes in the Elasticsearch cluster, if you have only one node, set it as 1.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_shards = 1&lt;br /&gt;
&lt;br /&gt;
The number of replicas for your indices, if you have only one node in Elasticsearch cluster; set it as 0.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_replicas = 0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Restart Graylog service.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 service graylog-server restart&lt;br /&gt;
&lt;br /&gt;
Enable auto start of graylog server service during system startup.&lt;br /&gt;
&lt;br /&gt;
 update-rc.d graylog-server defaults&lt;br /&gt;
&lt;br /&gt;
You can check out the server startup logs, it will be useful for you to troubleshoot graylog in case of any issue.&lt;br /&gt;
&lt;br /&gt;
 tailf /var/log/graylog-server/server.log&lt;br /&gt;
&lt;br /&gt;
On successful start of graylog-server, you should get the following message in the log file.&lt;br /&gt;
&lt;br /&gt;
 2015-09-17T09:35:22.895+02:00 INFO  [ServerBootstrap] Graylog server up and running.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Graylog web interface:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To configure graylog-web-interface, you must have at least one graylog-server node. Install Graylog web interface using “apt-get”.&lt;br /&gt;
&lt;br /&gt;
 apt-get install graylog-web&lt;br /&gt;
&lt;br /&gt;
Edit the configuration file and set the following parameters.&lt;br /&gt;
&lt;br /&gt;
 nano /etc/graylog/web/web.conf&lt;br /&gt;
&lt;br /&gt;
This is the list of graylog-server nodes, you can add multiple nodes, separate by commas.&lt;br /&gt;
&lt;br /&gt;
 graylog2-server.uris=&amp;quot;http://127.0.0.1:12900/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Set the application scret and can be generated using pwgen -N 1 -s 96.&lt;br /&gt;
&lt;br /&gt;
application.secret=&amp;quot;sNXyFf6B4Au3GqSlZwq7En86xp10JimdxxYiLtpptOejX6tIUpUE4DGRJOrcMj07wcK0wugPaapvzEzCYinEWj7BOtHXVl5Z&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Set Web interface timezone.&lt;br /&gt;
&lt;br /&gt;
 Timezone=&amp;quot;Europe/Tallinn&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Restart the gralog-web-interface using following command,&lt;br /&gt;
&lt;br /&gt;
 service graylog-web restart&lt;br /&gt;
&lt;br /&gt;
Enable auto start of web interface service during system startup.&lt;br /&gt;
&lt;br /&gt;
 update-rc.d graylog-web defaults&lt;br /&gt;
&lt;br /&gt;
== Monitoring Solutions ==&lt;br /&gt;
* Netdata&lt;br /&gt;
&lt;br /&gt;
* Nagios&lt;br /&gt;
=== Netdata Monitoring ===&lt;br /&gt;
[[File:Netdata.gif]]&lt;br /&gt;
&lt;br /&gt;
Linus Distribution: Debian Linux and its derivatives (including Ubuntu, Mint)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install nessesary packages:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Install the packages for having a basic netdata installation (system monitoring and many applications, without mysql / mariadb, postgres, named, hardware sensors and SNMP):&lt;br /&gt;
&lt;br /&gt;
  curl -Ss &#039;https://raw.githubusercontent.com/firehol/netdata-demo-site/master/install-required-packages.sh&#039; &amp;gt;/tmp/kickstart.sh &amp;amp;&amp;amp; bash /tmp/kickstart.sh netdata&lt;br /&gt;
&lt;br /&gt;
Install all the required packages for monitoring everything netdata can monitor:&lt;br /&gt;
&lt;br /&gt;
  curl -Ss &#039;https://raw.githubusercontent.com/firehol/netdata-demo-site/master/install-required-packages.sh&#039; &amp;gt;/tmp/kickstart.sh &amp;amp;&amp;amp; bash /tmp/kickstart.sh netdata-all&lt;br /&gt;
&lt;br /&gt;
  apt-get install zlib1g-dev uuid-dev libmnl-dev gcc make git autoconf autoconf-archive autogen automake pkg-config curl&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Netdata&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Download it - the directory &#039;netdata&#039; will be created&lt;br /&gt;
  git clone https://github.com/firehol/netdata.git --depth=1&lt;br /&gt;
  cd netdata&lt;br /&gt;
&lt;br /&gt;
Build it, install it, start it&lt;br /&gt;
  ./netdata-installer.sh&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;starting netdata at boot&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Copy the netdata startup file to /etc/init.d&lt;br /&gt;
  cp system/netdata-lsb /etc/init.d/netdata&lt;br /&gt;
&lt;br /&gt;
Make sure it is executable&lt;br /&gt;
  chmod +x /etc/init.d/netdata&lt;br /&gt;
&lt;br /&gt;
Enable it&lt;br /&gt;
  update-rc.d netdata defaults&lt;br /&gt;
&lt;br /&gt;
Access to web interface&lt;br /&gt;
 &lt;br /&gt;
 http://&amp;lt;ipaddress&amp;gt;:19999&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Referenced : https://github.com/firehol/netdata/wiki/Installation&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Nagios Monitoring ===&lt;br /&gt;
[[File:Nagios.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Check your PHP service has been installed on your server:&lt;br /&gt;
&lt;br /&gt;
  which php&lt;br /&gt;
&lt;br /&gt;
Or Install PHP (version 5): &lt;br /&gt;
&lt;br /&gt;
  apt-get install php5-common libapache2-mod-php5 php5-cli&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Downloading the Latest Release&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Make sure to download the Nagios XI installation package to the /tmp directory of the server on which you wish to install it, as shown in&lt;br /&gt;
the following commands:&lt;br /&gt;
&lt;br /&gt;
  cd /tmp&lt;br /&gt;
&lt;br /&gt;
To download the latest stable release, use the following command:&lt;br /&gt;
&lt;br /&gt;
  wget http://assets.nagios.com/downloads/nagiosxi/xi-latest.tar.gz&lt;br /&gt;
&lt;br /&gt;
  tar xzf xi-latest.tar.gz&lt;br /&gt;
&lt;br /&gt;
  cd /tmp/nagiosxi&lt;br /&gt;
&lt;br /&gt;
  ./fullinstall&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: It will take around 5 minutes to finish the installation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You are access the Nagios XI interface by pointing your web browser to:&lt;br /&gt;
&lt;br /&gt;
  http://&amp;lt;ipaddress&amp;gt;/nagiosxi OR http://&amp;lt;ipaddress&amp;gt;/nagiosql&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Troubleshooting&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I got the problem with the given IP after finishing installation, it gave me wrong IP to access. But just ignore it and go to your correct IP of your web server: &lt;br /&gt;
&lt;br /&gt;
  http://&amp;lt;ipaddress&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  without &amp;quot;/nagiosxi&amp;quot;&lt;br /&gt;
&lt;br /&gt;
It will show the installation GUI and you just need to follow and login after all.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Referenced: https://assets.nagios.com/downloads/nagiosxi/docs/XI_Manual_Installation_Instructions.pdf&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Install Plugins ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Locate Your Plugin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Visit this website to download plugins: http://exchange.nagios.org. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Plugin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Click the Admin menu --&amp;gt; Manage Plugins &lt;br /&gt;
&lt;br /&gt;
 Click the Browse button --&amp;gt; click the Upload Plugin button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Test Your Plugin From The Command Line&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
  cd /usr/local/nagios/libexec&lt;br /&gt;
  &lt;br /&gt;
  ./plugin_name arg1 arg2 ...&lt;br /&gt;
&lt;br /&gt;
*See the document of plugin to get more detail of its arguments&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define A Command&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 browse to Configure → Core&lt;br /&gt;
&lt;br /&gt;
 Configuration Manager → Commands and click Add New.&lt;br /&gt;
&lt;br /&gt;
Enter a Command Name, usually the same as the plugin&lt;br /&gt;
filename. Next in the Command Line field, enter&lt;br /&gt;
$USER1$/plugin_name $ARG1$. The $USER1$ macro is&lt;br /&gt;
replaced with the path to the plugin directory, while the&lt;br /&gt;
$ARG1$ macro is a placeholder for an argument you want to&lt;br /&gt;
specify later on a per-service basis. If you want, you can omit&lt;br /&gt;
$ARG1$ or add more ($ARG2$, $ARG3$, etc.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Click Save --&amp;gt; Apply Configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Add A Service&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In the left-hand menu&lt;br /&gt;
&lt;br /&gt;
 Click Services --&amp;gt; click Add New.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Config Name&#039;&#039;&#039; field, enter the file name where the&lt;br /&gt;
configuration will be stored. Next enter a description of the&lt;br /&gt;
service in the Description field. Associate the service with a&lt;br /&gt;
host by clicking the Manage Host button.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Check command&#039;&#039;&#039; field, select the command you defined&lt;br /&gt;
above from the dropdown list. If you had any argument&lt;br /&gt;
placeholders when you defined the command earlier, enter&lt;br /&gt;
replacement text in the appropriate argument fields.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Manage Templates&#039;&#039;&#039; button allows you to apply a template&lt;br /&gt;
to this service which will save you from having to fill in all the&lt;br /&gt;
other configuration options, or you can enter the required&lt;br /&gt;
Check and Alert settings manually.&lt;br /&gt;
&lt;br /&gt;
 Save --&amp;gt; Apply Configuration again&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Verify Your Service Is Working&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Navigate to&lt;br /&gt;
&lt;br /&gt;
  Home → Service Detail  &lt;br /&gt;
&lt;br /&gt;
Look for your new service in the list. It will probably take a few minutes before it runs its first check.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Referenced: https://assets.nagios.com/downloads/nagiosxi/docs/Managing-Plugins-in-Nagios-XI.pdf&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Experiences =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Graylog&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In during installation time, we have found some problems which will impact on our your installation as well.&lt;br /&gt;
&lt;br /&gt;
- The version of Ubuntu and Graylog might conflict each other as well as Graylog&#039;s packages ( e.g : java )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nagios&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I have faced some of certain problem with installing Plugin for Nagios. First of all, you need to check if the plugins you want to use is supported for the OS of the server you are running, for example the plugin is written for Windows Server but you are running Linux server, thus it will give you an error about its format or bunch of error which is difficult to determine exactly its trouble.&lt;br /&gt;
&lt;br /&gt;
Furthermore, once you wish to add the plugin as a service. Please pay attention on the &amp;quot;Service Name&amp;quot; and &amp;quot;Manage Host&amp;quot; which might effect to your installation as well.&lt;br /&gt;
&lt;br /&gt;
= Summary =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Graylog&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
During the installation Graylogs in both versions of Ubuntu ( 14.04 and 16.0 ). We realized that it had many differences between these versions. Listed above our objectives what we expect to achieve after installing and using Graylog, along with its useful information and its interaction between Administrator (users) with Graylog.&lt;br /&gt;
&lt;br /&gt;
its advantages:&lt;br /&gt;
 + Free.&lt;br /&gt;
 + Easy to interact with web interface.&lt;br /&gt;
 + Easy to install with the good support from its sources.&lt;br /&gt;
 + Help Administrator (user) to collect information in during logging and monitoring straightforwardly.&lt;br /&gt;
 + Many useful tools ( plugins ) which supports to work on.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nagios&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The reason I choose Nagios as my monitoring solution is because it is quite fully functions which help people can handle the services on the server for example it points out detail notification of crucial services such as manage users, HTTP, SSH..so forth. I am using a trial version, but it&#039;s seem pretty enough for beginner to &amp;quot;hangout&amp;quot; with Monitoring tool at first.&lt;br /&gt;
&lt;br /&gt;
This is my opinion of its advantages:&lt;br /&gt;
&lt;br /&gt;
 + Easy to install with many ways with official guide from Nagios Supports.&lt;br /&gt;
 + Good trial version to barely use for beginner.&lt;br /&gt;
 + There are some useful extensions, plugins which are free and easy to install.&lt;br /&gt;
 + Easy to handle with web interface.&lt;br /&gt;
 + Does not take many space of hard disk.&lt;br /&gt;
&lt;br /&gt;
Another hand, it also has disadvantages:&lt;br /&gt;
&lt;br /&gt;
 + Too expensive for license version.&lt;br /&gt;
 + Lack of plugins development, some of them is quite old as well.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;http://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/how-to-install-graylog2-on-ubuntu-14-04.html&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;https://assets.nagios.com/downloads/nagiosxi/docs/Managing-Plugins-in-Nagios-XI.pdf&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;https://assets.nagios.com/downloads/nagiosxi/docs/XI_Manual_Installation_Instructions.pdf&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;https://github.com/firehol/netdata/wiki/Installation&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=114370</id>
		<title>Logging - Monitoring C21</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=114370"/>
		<updated>2016-11-10T09:20:09Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* MongoDB */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Logging and Monitoring with Graylog&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Course: Logging and Monitoring - Lecturer: Margus Ernits&lt;br /&gt;
&lt;br /&gt;
Group: Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Team members: Ender Phan, Kustas Kurval, Sheela Gowry Sumathi Raju, Artur Vincent Kerge&lt;br /&gt;
&lt;br /&gt;
Page created on: October 05, 2016&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In order to understand how to set up the Graylog service as well as understand its crucial roles. We decided to choose Graylog as our application for logging and monitoring. Below are our objectives which would be expected to achieve later on:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to install Graylog on Ubuntu 14.04.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to use Graylog to protect servers.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Upgrading and configuring Graylog at first, and know how to secure Graylog.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Threats and security during logging.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Installation Guide =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ubuntu 14.04&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Graylog_simple_setup_v2.png]]&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
Since the Elasticsearch is based on java, we would require to install either openJDK or Oracle JDK. It is recommended to install Oracle JDK, verify the java version by using the following command.&lt;br /&gt;
&lt;br /&gt;
Remove the OpenJDK from the system, if you have it already installed. From now on it is presumed that user has root privileges.&lt;br /&gt;
&lt;br /&gt;
 apt-get remove --purge openjdk*&lt;br /&gt;
Add repository.&lt;br /&gt;
&lt;br /&gt;
 add-apt-repository -y ppa:webupd8team/java&lt;br /&gt;
Run the following command to pull the packages information from the newly added repository.&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
Issue the following command to install Java jdk 1.8.&lt;br /&gt;
&lt;br /&gt;
 apt-get -y install oracle-java8-installer&lt;br /&gt;
&lt;br /&gt;
 java -version&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
&lt;br /&gt;
 Java version &amp;quot;1.8.0_60&amp;quot;&lt;br /&gt;
 Java(TM) SE Runtime Environment (build 1.8.0_60-b27)&lt;br /&gt;
 Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)&lt;br /&gt;
&lt;br /&gt;
== Installing extras ==&lt;br /&gt;
&lt;br /&gt;
=== Elasticsearch ===&lt;br /&gt;
&lt;br /&gt;
Let’s install Elasticsearch, it can be downloaded from the official website.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Download and install GPG signing key&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
Note that the -qO argument is lowercase Quebec followed by capital Oscar.&lt;br /&gt;
&lt;br /&gt;
Save the repository definition to /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;deb http://packages.elastic.co/elasticsearch/2.x/debian stable main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
Update repository cache and install Elasticsearch&lt;br /&gt;
&lt;br /&gt;
 apt-get update &amp;amp;&amp;amp; apt-get install elasticsearch&lt;br /&gt;
&lt;br /&gt;
Configure Elasticsearch to start during system startup.&lt;br /&gt;
&lt;br /&gt;
 update-rc.d elasticsearch defaults&lt;br /&gt;
The only important thing is to set a cluster name as “graylog2“, that is being used by graylog. Now edit the configuration file of Elasticsearch.&lt;br /&gt;
&lt;br /&gt;
 nano /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
&lt;br /&gt;
 cluster.name: graylog2&lt;br /&gt;
&lt;br /&gt;
In the same file disable dynamic scripts to avoid remote execution. That can be done by adding the following line:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FOLLOWING LINE GOES INTO GRAYLOG CONF!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 script.disable_dynamic: true&lt;br /&gt;
&lt;br /&gt;
Once it is done, we are good to go. Before that, restart the Elasticsearch services to load the modified configuration.&lt;br /&gt;
&lt;br /&gt;
 service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
Wait at least a minute to let the Elasticsearch get fully restarted, otherwise testing will fail. Elastisearch should be now listen on 9200 for processing HTTP request, we can use CURL to get the response. Ensure that it returns with cluster name as “graylog2”&lt;br /&gt;
&lt;br /&gt;
 curl -X GET http://localhost:9200&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;status&amp;quot; : 200,&lt;br /&gt;
   &amp;quot;name&amp;quot; : &amp;quot;Pistol&amp;quot;,&lt;br /&gt;
   &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
   &amp;quot;version&amp;quot; : {&lt;br /&gt;
    &amp;quot;number&amp;quot; : &amp;quot;1.7.1&amp;quot;,&lt;br /&gt;
    &amp;quot;build_hash&amp;quot; : &amp;quot;b88f43fc40b0bcd7f173a1f9ee2e97816de80b19&amp;quot;,&lt;br /&gt;
    &amp;quot;build_timestamp&amp;quot; : &amp;quot;2015-07-29T09:54:16Z&amp;quot;,&lt;br /&gt;
    &amp;quot;build_snapshot&amp;quot; : false,&lt;br /&gt;
    &amp;quot;lucene_version&amp;quot; : &amp;quot;4.10.4&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;tagline&amp;quot; : &amp;quot;You Know, for Search&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Optional: Use the following command to check the Elasticsearch cluster health, you must get a cluster status as “green” for graylog to work.&lt;br /&gt;
&lt;br /&gt;
 curl -XGET &#039;http://localhost:9200/_cluster/health?pretty=true&#039;&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;status&amp;quot; : &amp;quot;&#039;&#039;&#039;green&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;timed_out&amp;quot; : false,&lt;br /&gt;
  &amp;quot;number_of_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;number_of_data_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;active_primary_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;active_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;relocating_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;initializing_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;delayed_unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_pending_tasks&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_in_flight_fetch&amp;quot; : 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== MongoDB ===&lt;br /&gt;
&lt;br /&gt;
MongoDB is available in deb format and same can be downloaded from the official website. Add the following repository information on the system to install MongoDB. Before that we must import public key.&lt;br /&gt;
&lt;br /&gt;
 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10&lt;br /&gt;
Add repository by creating the /etc/apt/sources.list.d/mongodb-org-3.0.list list file using the command.&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse&amp;quot; | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list&lt;br /&gt;
Update repository cache.&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
Install MongoDB using the following command.&lt;br /&gt;
&lt;br /&gt;
 apt-get install mongodb-org&lt;br /&gt;
Start the MongoDB service and enable it to start automatically during the system start-up.&lt;br /&gt;
&lt;br /&gt;
 service mongod start&lt;br /&gt;
&lt;br /&gt;
 ln -s /usr/bin/mongod /etc/init.d/mongod&lt;br /&gt;
&lt;br /&gt;
Create a symbolic link&lt;br /&gt;
&lt;br /&gt;
 update-rc.d mongod defaults&lt;br /&gt;
&lt;br /&gt;
=== Graylog2 ===&lt;br /&gt;
&lt;br /&gt;
Graylog-server accepts and process the log messages, also spawns the RESTAPI for the requests that comes from graylog-web-interface. Download the latest version of graylog from graylog.org,&lt;br /&gt;
&lt;br /&gt;
Use the following command to install graylog2 repository.&lt;br /&gt;
&lt;br /&gt;
 wget https://packages.graylog2.org/repo/packages/graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
&lt;br /&gt;
 dpkg -i graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
Install https suppport and update the repository cache.&lt;br /&gt;
&lt;br /&gt;
 apt-get install apt-transport-https&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
Install Graylog server using following command.&lt;br /&gt;
&lt;br /&gt;
 apt-get install graylog-server &lt;br /&gt;
Edit the server.conf file.&lt;br /&gt;
&lt;br /&gt;
 nano /etc/graylog/server/server.conf&lt;br /&gt;
Configure the following variables in the above file.&lt;br /&gt;
&lt;br /&gt;
Set a secret to secure the user passwords, use the following command to generate a secret, use at least 64 character’s.&lt;br /&gt;
&lt;br /&gt;
 pwgen -N 1 -s 96&lt;br /&gt;
&lt;br /&gt;
 OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
If you get a “pwgen: command not found“, use the following command to install pwgen.&lt;br /&gt;
&lt;br /&gt;
 apt-get install pwgen&lt;br /&gt;
&lt;br /&gt;
Place the secret.&lt;br /&gt;
&lt;br /&gt;
 password_secret = OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
Next is to set a hash password for the root user (not to be confused with system user, root user of graylog is admin). You will use this password for login into the web interface, admin’s password can not be changed using web interface, must edit this variable to set.&lt;br /&gt;
&lt;br /&gt;
Replace “yourpassword” with the choice of your’s.&lt;br /&gt;
&lt;br /&gt;
 echo -n yourpassword | sha256sum&lt;br /&gt;
&lt;br /&gt;
 e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
&lt;br /&gt;
Place the hash password.&lt;br /&gt;
&lt;br /&gt;
 root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
&lt;br /&gt;
You can setup email address root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_email = &amp;quot;cyber.web@gmail.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Set timezone of root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_timezone = UTC&lt;br /&gt;
&lt;br /&gt;
Graylog will try to find the Elasticsearch nodes automatically, it uses multicast mode for the same. But when it comes to larger network, it is recommended to use unicast mode which is best suited one for production setups. So add the following two entries to graylog server.conf file, replace ipaddress with live hostname or ipaddress. Multiple hosts can be added with comma separated.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_http_enabled = false&lt;br /&gt;
 elasticsearch_discovery_zen_ping_unicast_hosts = ipaddress:9300&lt;br /&gt;
&lt;br /&gt;
Set only one master node by defining the below variable, default setting is true, you must set it as a false to make the particular node as a slave. Master node performs some periodic tasks that slave won’t perform.&lt;br /&gt;
&lt;br /&gt;
 is_master = true&lt;br /&gt;
&lt;br /&gt;
The following variable sets the number of log messages to keep per index, it is recommended to have several smaller indices instead of larger ones.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_docs_per_index = 20000000&lt;br /&gt;
&lt;br /&gt;
The following parameter defines to have total number of indices, if the this number is reached old index will be deleted.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_number_of_indices = 20&lt;br /&gt;
&lt;br /&gt;
Shards setting is really depends on the number of nodes in the Elasticsearch cluster, if you have only one node, set it as 1.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_shards = 1&lt;br /&gt;
&lt;br /&gt;
The number of replicas for your indices, if you have only one node in Elasticsearch cluster; set it as 0.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_replicas = 0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Restart Graylog service.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 service graylog-server restart&lt;br /&gt;
&lt;br /&gt;
Enable auto start of graylog server service during system startup.&lt;br /&gt;
&lt;br /&gt;
 update-rc.d graylog-server defaults&lt;br /&gt;
&lt;br /&gt;
You can check out the server startup logs, it will be useful for you to troubleshoot graylog in case of any issue.&lt;br /&gt;
&lt;br /&gt;
 tailf /var/log/graylog-server/server.log&lt;br /&gt;
&lt;br /&gt;
On successful start of graylog-server, you should get the following message in the log file.&lt;br /&gt;
&lt;br /&gt;
 2015-09-17T09:35:22.895+02:00 INFO  [ServerBootstrap] Graylog server up and running.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Graylog web interface:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To configure graylog-web-interface, you must have at least one graylog-server node. Install Graylog web interface using “apt-get”.&lt;br /&gt;
&lt;br /&gt;
 apt-get install graylog-web&lt;br /&gt;
&lt;br /&gt;
Edit the configuration file and set the following parameters.&lt;br /&gt;
&lt;br /&gt;
 nano /etc/graylog/web/web.conf&lt;br /&gt;
&lt;br /&gt;
This is the list of graylog-server nodes, you can add multiple nodes, separate by commas.&lt;br /&gt;
&lt;br /&gt;
 graylog2-server.uris=&amp;quot;http://127.0.0.1:12900/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Set the application scret and can be generated using pwgen -N 1 -s 96.&lt;br /&gt;
&lt;br /&gt;
application.secret=&amp;quot;sNXyFf6B4Au3GqSlZwq7En86xp10JimdxxYiLtpptOejX6tIUpUE4DGRJOrcMj07wcK0wugPaapvzEzCYinEWj7BOtHXVl5Z&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Set Web interface timezone.&lt;br /&gt;
&lt;br /&gt;
 Timezone=&amp;quot;Europe/Tallinn&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Restart the gralog-web-interface using following command,&lt;br /&gt;
&lt;br /&gt;
 service graylog-web restart&lt;br /&gt;
&lt;br /&gt;
Enable auto start of web interface service during system startup.&lt;br /&gt;
&lt;br /&gt;
 update-rc.d graylog-web defaults&lt;br /&gt;
&lt;br /&gt;
=== Netdata Monitoring ===&lt;br /&gt;
[[File:Netdata.gif]]&lt;br /&gt;
&lt;br /&gt;
Linus Distribution: Debian Linux and its derivatives (including Ubuntu, Mint)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install nessesary packages:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Install the packages for having a basic netdata installation (system monitoring and many applications, without mysql / mariadb, postgres, named, hardware sensors and SNMP):&lt;br /&gt;
&lt;br /&gt;
  curl -Ss &#039;https://raw.githubusercontent.com/firehol/netdata-demo-site/master/install-required-packages.sh&#039; &amp;gt;/tmp/kickstart.sh &amp;amp;&amp;amp; bash /tmp/kickstart.sh netdata&lt;br /&gt;
&lt;br /&gt;
Install all the required packages for monitoring everything netdata can monitor:&lt;br /&gt;
&lt;br /&gt;
  curl -Ss &#039;https://raw.githubusercontent.com/firehol/netdata-demo-site/master/install-required-packages.sh&#039; &amp;gt;/tmp/kickstart.sh &amp;amp;&amp;amp; bash /tmp/kickstart.sh netdata-all&lt;br /&gt;
&lt;br /&gt;
  apt-get install zlib1g-dev uuid-dev libmnl-dev gcc make git autoconf autoconf-archive autogen automake pkg-config curl&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Netdata&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Download it - the directory &#039;netdata&#039; will be created&lt;br /&gt;
  git clone https://github.com/firehol/netdata.git --depth=1&lt;br /&gt;
  cd netdata&lt;br /&gt;
&lt;br /&gt;
Build it, install it, start it&lt;br /&gt;
  ./netdata-installer.sh&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;starting netdata at boot&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Copy the netdata startup file to /etc/init.d&lt;br /&gt;
  cp system/netdata-lsb /etc/init.d/netdata&lt;br /&gt;
&lt;br /&gt;
Make sure it is executable&lt;br /&gt;
  chmod +x /etc/init.d/netdata&lt;br /&gt;
&lt;br /&gt;
Enable it&lt;br /&gt;
  update-rc.d netdata defaults&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Referenced : https://github.com/firehol/netdata/wiki/Installation&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Nagios Monitoring ===&lt;br /&gt;
[[File:Nagios.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Check your PHP service has been installed on your server:&lt;br /&gt;
&lt;br /&gt;
  which php&lt;br /&gt;
&lt;br /&gt;
Or Install PHP (version 5): &lt;br /&gt;
&lt;br /&gt;
  apt-get install php5-common libapache2-mod-php5 php5-cli&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Downloading the Latest Release&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Make sure to download the Nagios XI installation package to the /tmp directory of the server on which you wish to install it, as shown in&lt;br /&gt;
the following commands:&lt;br /&gt;
&lt;br /&gt;
  cd /tmp&lt;br /&gt;
&lt;br /&gt;
To download the latest stable release, use the following command:&lt;br /&gt;
&lt;br /&gt;
  wget http://assets.nagios.com/downloads/nagiosxi/xi-latest.tar.gz&lt;br /&gt;
&lt;br /&gt;
  tar xzf xi-latest.tar.gz&lt;br /&gt;
&lt;br /&gt;
  cd /tmp/nagiosxi&lt;br /&gt;
&lt;br /&gt;
  ./fullinstall&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: It will take around 5 minutes to finish the installation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You are access the Nagios XI interface by pointing your web browser to:&lt;br /&gt;
&lt;br /&gt;
  http://&amp;lt;ipaddress&amp;gt;/nagiosxi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Trouble shooting&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I got the problem with the given IP after finishing its installation, it gave me wrong IP to access. But just ignore it and go to your correct IP of your web server: &lt;br /&gt;
&lt;br /&gt;
  http://&amp;lt;ipaddress&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  *without &amp;quot;/nagiosxi&amp;quot;&lt;br /&gt;
&lt;br /&gt;
It will show the installation GUI and you just need to follow and login after all.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Referenced: https://assets.nagios.com/downloads/nagiosxi/docs/XI_Manual_Installation_Instructions.pdf&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Install Plugins ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Locate Your Plugin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Visit this website to download plugins: http://exchange.nagios.org. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Plugin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Click the Admin menu --&amp;gt; Manage Plugins &lt;br /&gt;
&lt;br /&gt;
 Click the Browse button --&amp;gt; click the Upload Plugin button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Test Your Plugin From The Command Line&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
  cd /usr/local/nagios/libexec&lt;br /&gt;
  &lt;br /&gt;
  ./plugin_name arg1 arg2 ...&lt;br /&gt;
&lt;br /&gt;
*See the document of plugin to get more detail of its arguments&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define A Command&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 browse to Configure → Core&lt;br /&gt;
&lt;br /&gt;
 Configuration Manager → Commands and click Add New.&lt;br /&gt;
&lt;br /&gt;
Enter a Command Name, usually the same as the plugin&lt;br /&gt;
filename. Next in the Command Line field, enter&lt;br /&gt;
$USER1$/plugin_name $ARG1$. The $USER1$ macro is&lt;br /&gt;
replaced with the path to the plugin directory, while the&lt;br /&gt;
$ARG1$ macro is a placeholder for an argument you want to&lt;br /&gt;
specify later on a per-service basis. If you want, you can omit&lt;br /&gt;
$ARG1$ or add more ($ARG2$, $ARG3$, etc.)&lt;br /&gt;
&lt;br /&gt;
The Command Type should be check command if your plugin&lt;br /&gt;
will monitor a host or service, or misc command if it handles&lt;br /&gt;
events. If in doubt, leave it unclassified.&lt;br /&gt;
Click Save and then Apply Configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Add A Service&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Click Services --&amp;gt; click Add New.&lt;br /&gt;
&lt;br /&gt;
In the &#039;&#039;&#039;Config Name&#039;&#039;&#039; field, enter the file name where the&lt;br /&gt;
configuration will be stored. Next enter a description of the&lt;br /&gt;
service in the Description field. Associate the service with a&lt;br /&gt;
host by clicking the Manage Host button.&lt;br /&gt;
&lt;br /&gt;
In the &#039;&#039;&#039;Check command&#039;&#039;&#039; field, select the command you defined&lt;br /&gt;
above from the dropdown list. If you had any argument&lt;br /&gt;
placeholders when you defined the command earlier, enter&lt;br /&gt;
replacement text in the appropriate argument fields.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Manage Templates&#039;&#039;&#039; button allows you to apply a template&lt;br /&gt;
to this service which will save you from having to fill in all the&lt;br /&gt;
other configuration options, or you can enter the required&lt;br /&gt;
Check and Alert settings manually.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039; and &#039;&#039;&#039;Apply&#039;&#039;&#039; Configuration again&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Verify Your Service Is Working&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Navigate to&lt;br /&gt;
&lt;br /&gt;
  Home → Service Detail  &lt;br /&gt;
&lt;br /&gt;
Look for your new service in the list. It will probably take a few minutes before it runs its first check.&lt;br /&gt;
&lt;br /&gt;
= Experiences =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grayloag&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In during installation time, we have found some problems which will impact on our your installation as well.&lt;br /&gt;
&lt;br /&gt;
- The version of Ubuntu and Graylog might conflict each other as well as Graylog&#039;s packages ( e.g : java )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nagios&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I have faced some of certain problem with installing Plugin for Nagios. First of all, you need to check if the plugins you want to use is supported for the OS of the server you are running, for example the plugin is written for Windows Server but you are running Linux server, thus it will give you an error about its format or bunch of error which is difficult to determine exactly its trouble.&lt;br /&gt;
&lt;br /&gt;
Furthermore, once you wish to add the plugin as a service. Please pay attention on the &amp;quot;Service Name&amp;quot; and &amp;quot;Manage Host&amp;quot; which might effect to your installation as well.&lt;br /&gt;
&lt;br /&gt;
= Summary =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Graylog&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
During the installation Graylogs in both versions of Ubuntu ( 14.04 and 16.0 ). We realized that it had many differences between these versions. Listed above our objectives what we expect to achieve after installing and using Graylog, along with its useful information and its interaction between Administrator (users) with Graylog.&lt;br /&gt;
&lt;br /&gt;
its advantages:&lt;br /&gt;
 + Free.&lt;br /&gt;
 + Easy to interact with web interface.&lt;br /&gt;
 + Easy to install with the good support from its sources.&lt;br /&gt;
 + Help Administrator (user) to collect information in during logging and monitoring straightforwardly.&lt;br /&gt;
 + Many useful tools ( plugins ) which supports to work on.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nagios&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The reason I choose Nagios as my monitoring solution is because it is quite fully functions which help people can handle the services on the server for example it points out detail notification of crucial services such as manage users, HTTP, SSH..so forth. I am using a trial version, but it&#039;s seem pretty enough for beginner to &amp;quot;hangout&amp;quot; with Monitoring tool at first.&lt;br /&gt;
&lt;br /&gt;
This is my opinion of its advantages:&lt;br /&gt;
&lt;br /&gt;
 + Easy to install with many ways with official guide from Nagios Supports.&lt;br /&gt;
 + Good trial version to barely use for beginner.&lt;br /&gt;
 + There are some useful extensions, plugins which are free and easy to install.&lt;br /&gt;
 + Easy to handle with web interface.&lt;br /&gt;
 + Does not take many space of hard disk.&lt;br /&gt;
&lt;br /&gt;
Another hand, it also has a disadvantages:&lt;br /&gt;
&lt;br /&gt;
 + Too expensive for license version.&lt;br /&gt;
 + Lack of plugins development, some of them is quite old as well.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;http://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/how-to-install-graylog2-on-ubuntu-14-04.html&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=114365</id>
		<title>Logging - Monitoring C21</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=114365"/>
		<updated>2016-11-10T08:32:43Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* MongoDB */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Logging and Monitoring with Graylog&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Course: Logging and Monitoring - Lecturer: Margus Ernits&lt;br /&gt;
&lt;br /&gt;
Group: Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Team members: Ender Phan, Kustas Kurval, Sheela Gowry Sumathi Raju, Artur Vincent Kerge&lt;br /&gt;
&lt;br /&gt;
Page created on: October 05, 2016&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In order to understand how to set up the Graylog service as well as understand its crucial roles. We decided to choose Graylog as our application for logging and monitoring. Below are our objectives which would be expected to achieve later on:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to install Graylog on Ubuntu 14.04.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to use Graylog to protect servers.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Upgrading and configuring Graylog at first, and know how to secure Graylog.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Threats and security during logging.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Installation Guide =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ubuntu 14.04&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Graylog_simple_setup_v2.png]]&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
Since the Elasticsearch is based on java, we would require to install either openJDK or Oracle JDK. It is recommended to install Oracle JDK, verify the java version by using the following command.&lt;br /&gt;
&lt;br /&gt;
Remove the OpenJDK from the system, if you have it already installed. From now on it is presumed that user has root privileges.&lt;br /&gt;
&lt;br /&gt;
 apt-get remove --purge openjdk*&lt;br /&gt;
Add repository.&lt;br /&gt;
&lt;br /&gt;
 add-apt-repository -y ppa:webupd8team/java&lt;br /&gt;
Run the following command to pull the packages information from the newly added repository.&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
Issue the following command to install Java jdk 1.8.&lt;br /&gt;
&lt;br /&gt;
 apt-get -y install oracle-java8-installer&lt;br /&gt;
&lt;br /&gt;
 java -version&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
&lt;br /&gt;
 Java version &amp;quot;1.8.0_60&amp;quot;&lt;br /&gt;
 Java(TM) SE Runtime Environment (build 1.8.0_60-b27)&lt;br /&gt;
 Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)&lt;br /&gt;
&lt;br /&gt;
== Installing extras ==&lt;br /&gt;
&lt;br /&gt;
=== Elasticsearch ===&lt;br /&gt;
&lt;br /&gt;
Let’s install Elasticsearch, it can be downloaded from the official website.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Download and install GPG signing key&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
Note that the -qO argument is lowercase Quebec followed by capital Oscar.&lt;br /&gt;
&lt;br /&gt;
Save the repository definition to /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;deb http://packages.elastic.co/elasticsearch/2.x/debian stable main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
Update repository cache and install Elasticsearch&lt;br /&gt;
&lt;br /&gt;
 apt-get update &amp;amp;&amp;amp; apt-get install elasticsearch&lt;br /&gt;
&lt;br /&gt;
Configure Elasticsearch to start during system startup.&lt;br /&gt;
&lt;br /&gt;
 update-rc.d elasticsearch defaults&lt;br /&gt;
The only important thing is to set a cluster name as “graylog2“, that is being used by graylog. Now edit the configuration file of Elasticsearch.&lt;br /&gt;
&lt;br /&gt;
 nano /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
&lt;br /&gt;
 cluster.name: graylog2&lt;br /&gt;
&lt;br /&gt;
In the same file disable dynamic scripts to avoid remote execution. That can be done by adding the following line:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FOLLOWING LINE GOES INTO GRAYLOG CONF!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 script.disable_dynamic: true&lt;br /&gt;
&lt;br /&gt;
Once it is done, we are good to go. Before that, restart the Elasticsearch services to load the modified configuration.&lt;br /&gt;
&lt;br /&gt;
 service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
Wait at least a minute to let the Elasticsearch get fully restarted, otherwise testing will fail. Elastisearch should be now listen on 9200 for processing HTTP request, we can use CURL to get the response. Ensure that it returns with cluster name as “graylog2”&lt;br /&gt;
&lt;br /&gt;
 curl -X GET http://localhost:9200&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;status&amp;quot; : 200,&lt;br /&gt;
   &amp;quot;name&amp;quot; : &amp;quot;Pistol&amp;quot;,&lt;br /&gt;
   &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
   &amp;quot;version&amp;quot; : {&lt;br /&gt;
    &amp;quot;number&amp;quot; : &amp;quot;1.7.1&amp;quot;,&lt;br /&gt;
    &amp;quot;build_hash&amp;quot; : &amp;quot;b88f43fc40b0bcd7f173a1f9ee2e97816de80b19&amp;quot;,&lt;br /&gt;
    &amp;quot;build_timestamp&amp;quot; : &amp;quot;2015-07-29T09:54:16Z&amp;quot;,&lt;br /&gt;
    &amp;quot;build_snapshot&amp;quot; : false,&lt;br /&gt;
    &amp;quot;lucene_version&amp;quot; : &amp;quot;4.10.4&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;tagline&amp;quot; : &amp;quot;You Know, for Search&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Optional: Use the following command to check the Elasticsearch cluster health, you must get a cluster status as “green” for graylog to work.&lt;br /&gt;
&lt;br /&gt;
 curl -XGET &#039;http://localhost:9200/_cluster/health?pretty=true&#039;&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;status&amp;quot; : &amp;quot;&#039;&#039;&#039;green&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;timed_out&amp;quot; : false,&lt;br /&gt;
  &amp;quot;number_of_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;number_of_data_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;active_primary_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;active_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;relocating_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;initializing_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;delayed_unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_pending_tasks&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_in_flight_fetch&amp;quot; : 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== MongoDB ===&lt;br /&gt;
&lt;br /&gt;
MongoDB is available in deb format and same can be downloaded from the official website. Add the following repository information on the system to install MongoDB. Before that we must import public key.&lt;br /&gt;
&lt;br /&gt;
 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10&lt;br /&gt;
Add repository by creating the /etc/apt/sources.list.d/mongodb-org-3.0.list list file using the command.&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse&amp;quot; | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list&lt;br /&gt;
Update repository cache.&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
Install MongoDB using the following command.&lt;br /&gt;
&lt;br /&gt;
 apt-get install mongodb-org&lt;br /&gt;
Start the MongoDB service and enable it to start automatically during the system start-up.&lt;br /&gt;
&lt;br /&gt;
 service mongod start&lt;br /&gt;
&lt;br /&gt;
 ls -sh /usr/bin/mongod /etc/init.d/mongod&lt;br /&gt;
&lt;br /&gt;
-s is for size and -h for humanizing the output of ls&lt;br /&gt;
&lt;br /&gt;
 update-rc.d mongod defaults&lt;br /&gt;
&lt;br /&gt;
=== Graylog2 ===&lt;br /&gt;
&lt;br /&gt;
Graylog-server accepts and process the log messages, also spawns the RESTAPI for the requests that comes from graylog-web-interface. Download the latest version of graylog from graylog.org,&lt;br /&gt;
&lt;br /&gt;
Use the following command to install graylog2 repository.&lt;br /&gt;
&lt;br /&gt;
 wget https://packages.graylog2.org/repo/packages/graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
&lt;br /&gt;
 dpkg -i graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
Install https suppport and update the repository cache.&lt;br /&gt;
&lt;br /&gt;
 apt-get install apt-transport-https&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
Install Graylog server using following command.&lt;br /&gt;
&lt;br /&gt;
 apt-get install graylog-server &lt;br /&gt;
Edit the server.conf file.&lt;br /&gt;
&lt;br /&gt;
 nano /etc/graylog/server/server.conf&lt;br /&gt;
Configure the following variables in the above file.&lt;br /&gt;
&lt;br /&gt;
Set a secret to secure the user passwords, use the following command to generate a secret, use at least 64 character’s.&lt;br /&gt;
&lt;br /&gt;
 pwgen -N 1 -s 96&lt;br /&gt;
&lt;br /&gt;
 OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
If you get a “pwgen: command not found“, use the following command to install pwgen.&lt;br /&gt;
&lt;br /&gt;
 apt-get install pwgen&lt;br /&gt;
&lt;br /&gt;
Place the secret.&lt;br /&gt;
&lt;br /&gt;
 password_secret = OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
Next is to set a hash password for the root user (not to be confused with system user, root user of graylog is admin). You will use this password for login into the web interface, admin’s password can not be changed using web interface, must edit this variable to set.&lt;br /&gt;
&lt;br /&gt;
Replace “yourpassword” with the choice of your’s.&lt;br /&gt;
&lt;br /&gt;
 echo -n yourpassword | sha256sum&lt;br /&gt;
&lt;br /&gt;
 e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
&lt;br /&gt;
Place the hash password.&lt;br /&gt;
&lt;br /&gt;
 root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
&lt;br /&gt;
You can setup email address root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_email = &amp;quot;cyber.web@gmail.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Set timezone of root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_timezone = UTC&lt;br /&gt;
&lt;br /&gt;
Graylog will try to find the Elasticsearch nodes automatically, it uses multicast mode for the same. But when it comes to larger network, it is recommended to use unicast mode which is best suited one for production setups. So add the following two entries to graylog server.conf file, replace ipaddress with live hostname or ipaddress. Multiple hosts can be added with comma separated.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_http_enabled = false&lt;br /&gt;
 elasticsearch_discovery_zen_ping_unicast_hosts = ipaddress:9300&lt;br /&gt;
&lt;br /&gt;
Set only one master node by defining the below variable, default setting is true, you must set it as a false to make the particular node as a slave. Master node performs some periodic tasks that slave won’t perform.&lt;br /&gt;
&lt;br /&gt;
 is_master = true&lt;br /&gt;
&lt;br /&gt;
The following variable sets the number of log messages to keep per index, it is recommended to have several smaller indices instead of larger ones.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_docs_per_index = 20000000&lt;br /&gt;
&lt;br /&gt;
The following parameter defines to have total number of indices, if the this number is reached old index will be deleted.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_number_of_indices = 20&lt;br /&gt;
&lt;br /&gt;
Shards setting is really depends on the number of nodes in the Elasticsearch cluster, if you have only one node, set it as 1.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_shards = 1&lt;br /&gt;
&lt;br /&gt;
The number of replicas for your indices, if you have only one node in Elasticsearch cluster; set it as 0.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_replicas = 0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Restart Graylog service.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 service graylog-server restart&lt;br /&gt;
&lt;br /&gt;
Enable auto start of graylog server service during system startup.&lt;br /&gt;
&lt;br /&gt;
 update-rc.d graylog-server defaults&lt;br /&gt;
&lt;br /&gt;
You can check out the server startup logs, it will be useful for you to troubleshoot graylog in case of any issue.&lt;br /&gt;
&lt;br /&gt;
 tailf /var/log/graylog-server/server.log&lt;br /&gt;
&lt;br /&gt;
On successful start of graylog-server, you should get the following message in the log file.&lt;br /&gt;
&lt;br /&gt;
 2015-09-17T09:35:22.895+02:00 INFO  [ServerBootstrap] Graylog server up and running.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Graylog web interface:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To configure graylog-web-interface, you must have at least one graylog-server node. Install Graylog web interface using “apt-get”.&lt;br /&gt;
&lt;br /&gt;
 apt-get install graylog-web&lt;br /&gt;
&lt;br /&gt;
Edit the configuration file and set the following parameters.&lt;br /&gt;
&lt;br /&gt;
 nano /etc/graylog/web/web.conf&lt;br /&gt;
&lt;br /&gt;
This is the list of graylog-server nodes, you can add multiple nodes, separate by commas.&lt;br /&gt;
&lt;br /&gt;
 graylog2-server.uris=&amp;quot;http://127.0.0.1:12900/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Set the application scret and can be generated using pwgen -N 1 -s 96.&lt;br /&gt;
&lt;br /&gt;
application.secret=&amp;quot;sNXyFf6B4Au3GqSlZwq7En86xp10JimdxxYiLtpptOejX6tIUpUE4DGRJOrcMj07wcK0wugPaapvzEzCYinEWj7BOtHXVl5Z&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Set Web interface timezone.&lt;br /&gt;
&lt;br /&gt;
 Timezone=&amp;quot;Europe/Tallinn&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Restart the gralog-web-interface using following command,&lt;br /&gt;
&lt;br /&gt;
 service graylog-web restart&lt;br /&gt;
&lt;br /&gt;
Enable auto start of web interface service during system startup.&lt;br /&gt;
&lt;br /&gt;
 update-rc.d graylog-web defaults&lt;br /&gt;
&lt;br /&gt;
=== Netdata Monitoring ===&lt;br /&gt;
[[File:Netdata.gif]]&lt;br /&gt;
&lt;br /&gt;
Linus Distribution: Debian Linux and its derivatives (including Ubuntu, Mint)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install nessesary packages:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Install the packages for having a basic netdata installation (system monitoring and many applications, without mysql / mariadb, postgres, named, hardware sensors and SNMP):&lt;br /&gt;
&lt;br /&gt;
  curl -Ss &#039;https://raw.githubusercontent.com/firehol/netdata-demo-site/master/install-required-packages.sh&#039; &amp;gt;/tmp/kickstart.sh &amp;amp;&amp;amp; bash /tmp/kickstart.sh netdata&lt;br /&gt;
&lt;br /&gt;
Install all the required packages for monitoring everything netdata can monitor:&lt;br /&gt;
&lt;br /&gt;
  curl -Ss &#039;https://raw.githubusercontent.com/firehol/netdata-demo-site/master/install-required-packages.sh&#039; &amp;gt;/tmp/kickstart.sh &amp;amp;&amp;amp; bash /tmp/kickstart.sh netdata-all&lt;br /&gt;
&lt;br /&gt;
  apt-get install zlib1g-dev uuid-dev libmnl-dev gcc make git autoconf autoconf-archive autogen automake pkg-config curl&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Netdata&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Download it - the directory &#039;netdata&#039; will be created&lt;br /&gt;
  git clone https://github.com/firehol/netdata.git --depth=1&lt;br /&gt;
  cd netdata&lt;br /&gt;
&lt;br /&gt;
Build it, install it, start it&lt;br /&gt;
  ./netdata-installer.sh&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;starting netdata at boot&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Copy the netdata startup file to /etc/init.d&lt;br /&gt;
  cp system/netdata-lsb /etc/init.d/netdata&lt;br /&gt;
&lt;br /&gt;
Make sure it is executable&lt;br /&gt;
  chmod +x /etc/init.d/netdata&lt;br /&gt;
&lt;br /&gt;
Enable it&lt;br /&gt;
  update-rc.d netdata defaults&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Referenced : https://github.com/firehol/netdata/wiki/Installation&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Nagios Monitoring ===&lt;br /&gt;
[[File:Nagios.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Check your PHP service has been installed on your server:&lt;br /&gt;
&lt;br /&gt;
  which php&lt;br /&gt;
&lt;br /&gt;
Or Install PHP (version 5): &lt;br /&gt;
&lt;br /&gt;
  apt-get install php5-common libapache2-mod-php5 php5-cli&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Downloading the Latest Release&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Make sure to download the Nagios XI installation package to the /tmp directory of the server on which you wish to install it, as shown in&lt;br /&gt;
the following commands:&lt;br /&gt;
&lt;br /&gt;
  cd /tmp&lt;br /&gt;
&lt;br /&gt;
To download the latest stable release, use the following command:&lt;br /&gt;
&lt;br /&gt;
  wget http://assets.nagios.com/downloads/nagiosxi/xi-latest.tar.gz&lt;br /&gt;
&lt;br /&gt;
  tar xzf xi-latest.tar.gz&lt;br /&gt;
&lt;br /&gt;
  cd /tmp/nagiosxi&lt;br /&gt;
&lt;br /&gt;
  ./fullinstall&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: It will take around 5 minutes to finish the installation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You are access the Nagios XI interface by pointing your web browser to:&lt;br /&gt;
&lt;br /&gt;
  http://&amp;lt;ipaddress&amp;gt;/nagiosxi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Trouble shooting&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I got the problem with the given IP after finishing its installation, it gave me wrong IP to access. But just ignore it and go to your correct IP of your web server: &lt;br /&gt;
&lt;br /&gt;
  http://&amp;lt;ipaddress&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  *without &amp;quot;/nagiosxi&amp;quot;&lt;br /&gt;
&lt;br /&gt;
It will show the installation GUI and you just need to follow and login after all.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Referenced: https://assets.nagios.com/downloads/nagiosxi/docs/XI_Manual_Installation_Instructions.pdf&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Install Plugins ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Locate Your Plugin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Visit this website to download plugins: http://exchange.nagios.org. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Plugin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Click the Admin menu --&amp;gt; Manage Plugins &lt;br /&gt;
&lt;br /&gt;
 Click the Browse button --&amp;gt; click the Upload Plugin button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Test Your Plugin From The Command Line&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
  cd /usr/local/nagios/libexec&lt;br /&gt;
  &lt;br /&gt;
  ./plugin_name arg1 arg2 ...&lt;br /&gt;
&lt;br /&gt;
*See the document of plugin to get more detail of its arguments&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define A Command&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 browse to Configure → Core&lt;br /&gt;
&lt;br /&gt;
 Configuration Manager → Commands and click Add New.&lt;br /&gt;
&lt;br /&gt;
Enter a Command Name, usually the same as the plugin&lt;br /&gt;
filename. Next in the Command Line field, enter&lt;br /&gt;
$USER1$/plugin_name $ARG1$. The $USER1$ macro is&lt;br /&gt;
replaced with the path to the plugin directory, while the&lt;br /&gt;
$ARG1$ macro is a placeholder for an argument you want to&lt;br /&gt;
specify later on a per-service basis. If you want, you can omit&lt;br /&gt;
$ARG1$ or add more ($ARG2$, $ARG3$, etc.)&lt;br /&gt;
&lt;br /&gt;
The Command Type should be check command if your plugin&lt;br /&gt;
will monitor a host or service, or misc command if it handles&lt;br /&gt;
events. If in doubt, leave it unclassified.&lt;br /&gt;
Click Save and then Apply Configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Add A Service&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Click Services --&amp;gt; click Add New.&lt;br /&gt;
&lt;br /&gt;
In the &#039;&#039;&#039;Config Name&#039;&#039;&#039; field, enter the file name where the&lt;br /&gt;
configuration will be stored. Next enter a description of the&lt;br /&gt;
service in the Description field. Associate the service with a&lt;br /&gt;
host by clicking the Manage Host button.&lt;br /&gt;
&lt;br /&gt;
In the &#039;&#039;&#039;Check command&#039;&#039;&#039; field, select the command you defined&lt;br /&gt;
above from the dropdown list. If you had any argument&lt;br /&gt;
placeholders when you defined the command earlier, enter&lt;br /&gt;
replacement text in the appropriate argument fields.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Manage Templates&#039;&#039;&#039; button allows you to apply a template&lt;br /&gt;
to this service which will save you from having to fill in all the&lt;br /&gt;
other configuration options, or you can enter the required&lt;br /&gt;
Check and Alert settings manually.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Save&#039;&#039;&#039; and &#039;&#039;&#039;Apply&#039;&#039;&#039; Configuration again&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Verify Your Service Is Working&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Navigate to&lt;br /&gt;
&lt;br /&gt;
  Home → Service Detail  &lt;br /&gt;
&lt;br /&gt;
Look for your new service in the list. It will probably take a few minutes before it runs its first check.&lt;br /&gt;
&lt;br /&gt;
= Experiences =&lt;br /&gt;
&lt;br /&gt;
In during installation time, we have found some problems which will impact on our your installation as well.&lt;br /&gt;
&lt;br /&gt;
- The version of Ubuntu and Graylog might conflict each other as well as Graylog&#039;s packages ( e.g : java )&lt;br /&gt;
&lt;br /&gt;
= Summary =&lt;br /&gt;
&lt;br /&gt;
During the installation Graylogs in both versions of Ubuntu ( 14.04 and 16.0 ). We realized that it had many differences between these versions. Listed above our objectives what we expect to achieve after installing and using Graylog, along with its useful information and its interaction between Administrator (users) with Graylog.&lt;br /&gt;
&lt;br /&gt;
its advantages:&lt;br /&gt;
 + Free.&lt;br /&gt;
 + Easy to interact with web interface.&lt;br /&gt;
 + Easy to install with the good support from its sources.&lt;br /&gt;
 + Help Administrator (user) to collect information in during logging and monitoring straightforwardly.&lt;br /&gt;
 + Many useful tools ( plugins ) which supports to work on.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;http://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/how-to-install-graylog2-on-ubuntu-14-04.html&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=111076</id>
		<title>Logging - Monitoring C21</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=111076"/>
		<updated>2016-10-20T07:57:43Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* Graylog2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Logging and Monitoring with Graylog&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Course: Logging and Monitoring - Lecturer: Margus Ernits&lt;br /&gt;
&lt;br /&gt;
Group: Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Team members: Ender Phan, Kustas Kurval, Sheela Gowry Sumathi Raju, Artur Vincent Kerge&lt;br /&gt;
&lt;br /&gt;
Page created on: October 05, 2016&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In order to understand how to set up the Graylog service as well as understand its crucial roles. We decided to choose Graylog as our application for logging and monitoring. Below are our objectives which would be expected to achieve later on:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to install Graylog on Ubuntu 14.04.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to use Graylog to protect servers.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Upgrading and configuring Graylog at first, and know how to secure Graylog.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Threats and security during logging.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Installation Guide =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ubuntu 14.04&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Graylog_simple_setup_v2.png]]&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
Since the Elasticsearch is based on java, we would require to install either openJDK or Oracle JDK. It is recommended to install Oracle JDK, verify the java version by using the following command.&lt;br /&gt;
&lt;br /&gt;
Remove the OpenJDK from the system, if you have it already installed. From now on it is presumed that user has root privileges.&lt;br /&gt;
&lt;br /&gt;
 apt-get remove --purge openjdk*&lt;br /&gt;
Add repository.&lt;br /&gt;
&lt;br /&gt;
 add-apt-repository -y ppa:webupd8team/java&lt;br /&gt;
Run the following command to pull the packages information from the newly added repository.&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
Issue the following command to install Java jdk 1.8.&lt;br /&gt;
&lt;br /&gt;
 apt-get -y install oracle-java8-installer&lt;br /&gt;
&lt;br /&gt;
 java -version&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
&lt;br /&gt;
 Java version &amp;quot;1.8.0_60&amp;quot;&lt;br /&gt;
 Java(TM) SE Runtime Environment (build 1.8.0_60-b27)&lt;br /&gt;
 Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)&lt;br /&gt;
&lt;br /&gt;
== Installing extras ==&lt;br /&gt;
&lt;br /&gt;
=== Elasticsearch ===&lt;br /&gt;
&lt;br /&gt;
Let’s install Elasticsearch, it can be downloaded from the official website.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Download and install GPG signing key&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
Note that the -qO argument is lowercase Quebec followed by capital Oscar.&lt;br /&gt;
&lt;br /&gt;
Save the repository definition to /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;deb http://packages.elastic.co/elasticsearch/2.x/debian stable main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
Update repository cache and install Elasticsearch&lt;br /&gt;
&lt;br /&gt;
 apt-get update &amp;amp;&amp;amp; apt-get install elasticsearch&lt;br /&gt;
&lt;br /&gt;
Configure Elasticsearch to start during system startup.&lt;br /&gt;
&lt;br /&gt;
 update-rc.d elasticsearch defaults&lt;br /&gt;
The only important thing is to set a cluster name as “graylog2“, that is being used by graylog. Now edit the configuration file of Elasticsearch.&lt;br /&gt;
&lt;br /&gt;
 nano /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
&lt;br /&gt;
 cluster.name: graylog2&lt;br /&gt;
&lt;br /&gt;
In the same file disable dynamic scripts to avoid remote execution. That can be done by adding the following line:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FOLLOWING LINE GOES INTO GRAYLOG CONF!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 script.disable_dynamic: true&lt;br /&gt;
&lt;br /&gt;
Once it is done, we are good to go. Before that, restart the Elasticsearch services to load the modified configuration.&lt;br /&gt;
&lt;br /&gt;
 service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
Wait at least a minute to let the Elasticsearch get fully restarted, otherwise testing will fail. Elastisearch should be now listen on 9200 for processing HTTP request, we can use CURL to get the response. Ensure that it returns with cluster name as “graylog2”&lt;br /&gt;
&lt;br /&gt;
 curl -X GET http://localhost:9200&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;status&amp;quot; : 200,&lt;br /&gt;
   &amp;quot;name&amp;quot; : &amp;quot;Pistol&amp;quot;,&lt;br /&gt;
   &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
   &amp;quot;version&amp;quot; : {&lt;br /&gt;
    &amp;quot;number&amp;quot; : &amp;quot;1.7.1&amp;quot;,&lt;br /&gt;
    &amp;quot;build_hash&amp;quot; : &amp;quot;b88f43fc40b0bcd7f173a1f9ee2e97816de80b19&amp;quot;,&lt;br /&gt;
    &amp;quot;build_timestamp&amp;quot; : &amp;quot;2015-07-29T09:54:16Z&amp;quot;,&lt;br /&gt;
    &amp;quot;build_snapshot&amp;quot; : false,&lt;br /&gt;
    &amp;quot;lucene_version&amp;quot; : &amp;quot;4.10.4&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;tagline&amp;quot; : &amp;quot;You Know, for Search&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Optional: Use the following command to check the Elasticsearch cluster health, you must get a cluster status as “green” for graylog to work.&lt;br /&gt;
&lt;br /&gt;
 curl -XGET &#039;http://localhost:9200/_cluster/health?pretty=true&#039;&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;status&amp;quot; : &amp;quot;&#039;&#039;&#039;green&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;timed_out&amp;quot; : false,&lt;br /&gt;
  &amp;quot;number_of_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;number_of_data_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;active_primary_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;active_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;relocating_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;initializing_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;delayed_unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_pending_tasks&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_in_flight_fetch&amp;quot; : 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== MongoDB ===&lt;br /&gt;
&lt;br /&gt;
MongoDB is available in deb format and same can be downloaded from the official website. Add the following repository information on the system to install MongoDB. Before that we must import public key.&lt;br /&gt;
&lt;br /&gt;
 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10&lt;br /&gt;
Add repository by creating the /etc/apt/sources.list.d/mongodb-org-3.0.list list file using the command.&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse&amp;quot; | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list&lt;br /&gt;
Update repository cache.&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
Install MongoDB using the following command.&lt;br /&gt;
&lt;br /&gt;
 apt-get install mongodb-org&lt;br /&gt;
Start the MongoDB service and enable it to start automatically during the system start-up.&lt;br /&gt;
&lt;br /&gt;
 service mongod start&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No /etc/init.d/mongod&#039;&#039;&#039; :( also, why is -s argument needed for ls?&lt;br /&gt;
&lt;br /&gt;
 ls -s /usr/bin/mongod /etc/init.d/mongod&lt;br /&gt;
&lt;br /&gt;
 update-rc.d mongod defaults&lt;br /&gt;
&lt;br /&gt;
=== Graylog2 ===&lt;br /&gt;
&lt;br /&gt;
Graylog-server accepts and process the log messages, also spawns the RESTAPI for the requests that comes from graylog-web-interface. Download the latest version of graylog from graylog.org,&lt;br /&gt;
&lt;br /&gt;
Use the following command to install graylog2 repository.&lt;br /&gt;
&lt;br /&gt;
 wget https://packages.graylog2.org/repo/packages/graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
&lt;br /&gt;
 dpkg -i graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
Install https suppport and update the repository cache.&lt;br /&gt;
&lt;br /&gt;
 apt-get install apt-transport-https&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
Install Graylog server using following command.&lt;br /&gt;
&lt;br /&gt;
 apt-get install graylog-server &lt;br /&gt;
Edit the server.conf file.&lt;br /&gt;
&lt;br /&gt;
 nano /etc/graylog/server/server.conf&lt;br /&gt;
Configure the following variables in the above file.&lt;br /&gt;
&lt;br /&gt;
Set a secret to secure the user passwords, use the following command to generate a secret, use at least 64 character’s.&lt;br /&gt;
&lt;br /&gt;
 pwgen -N 1 -s 96&lt;br /&gt;
&lt;br /&gt;
 OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
If you get a “pwgen: command not found“, use the following command to install pwgen.&lt;br /&gt;
&lt;br /&gt;
 apt-get install pwgen&lt;br /&gt;
&lt;br /&gt;
Place the secret.&lt;br /&gt;
&lt;br /&gt;
 password_secret = OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
Next is to set a hash password for the root user (not to be confused with system user, root user of graylog is admin). You will use this password for login into the web interface, admin’s password can not be changed using web interface, must edit this variable to set.&lt;br /&gt;
&lt;br /&gt;
Replace “yourpassword” with the choice of your’s.&lt;br /&gt;
&lt;br /&gt;
 echo -n yourpassword | sha256sum&lt;br /&gt;
&lt;br /&gt;
 e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
&lt;br /&gt;
Place the hash password.&lt;br /&gt;
&lt;br /&gt;
 root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
&lt;br /&gt;
You can setup email address root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_email = &amp;quot;cyber.web@gmail.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Set timezone of root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_timezone = UTC&lt;br /&gt;
&lt;br /&gt;
Graylog will try to find the Elasticsearch nodes automatically, it uses multicast mode for the same. But when it comes to larger network, it is recommended to use unicast mode which is best suited one for production setups. So add the following two entries to graylog server.conf file, replace ipaddress with live hostname or ipaddress. Multiple hosts can be added with comma separated.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_http_enabled = false&lt;br /&gt;
 elasticsearch_discovery_zen_ping_unicast_hosts = ipaddress:9300&lt;br /&gt;
&lt;br /&gt;
Set only one master node by defining the below variable, default setting is true, you must set it as a false to make the particular node as a slave. Master node performs some periodic tasks that slave won’t perform.&lt;br /&gt;
&lt;br /&gt;
 is_master = true&lt;br /&gt;
&lt;br /&gt;
The following variable sets the number of log messages to keep per index, it is recommended to have several smaller indices instead of larger ones.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_docs_per_index = 20000000&lt;br /&gt;
&lt;br /&gt;
The following parameter defines to have total number of indices, if the this number is reached old index will be deleted.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_number_of_indices = 20&lt;br /&gt;
&lt;br /&gt;
Shards setting is really depends on the number of nodes in the Elasticsearch cluster, if you have only one node, set it as 1.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_shards = 1&lt;br /&gt;
&lt;br /&gt;
The number of replicas for your indices, if you have only one node in Elasticsearch cluster; set it as 0.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_replicas = 0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Restart Graylog service.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 service graylog-server restart&lt;br /&gt;
&lt;br /&gt;
Enable auto start of graylog server service during system startup.&lt;br /&gt;
&lt;br /&gt;
 update-rc.d graylog-server defaults&lt;br /&gt;
&lt;br /&gt;
You can check out the server startup logs, it will be useful for you to troubleshoot graylog in case of any issue.&lt;br /&gt;
&lt;br /&gt;
 tailf /var/log/graylog-server/server.log&lt;br /&gt;
&lt;br /&gt;
On successful start of graylog-server, you should get the following message in the log file.&lt;br /&gt;
&lt;br /&gt;
 2015-09-17T09:35:22.895+02:00 INFO  [ServerBootstrap] Graylog server up and running.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Graylog web interface:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To configure graylog-web-interface, you must have at least one graylog-server node. Install Graylog web interface using “apt-get”.&lt;br /&gt;
&lt;br /&gt;
 apt-get install graylog-web&lt;br /&gt;
&lt;br /&gt;
Edit the configuration file and set the following parameters.&lt;br /&gt;
&lt;br /&gt;
 nano /etc/graylog/web/web.conf&lt;br /&gt;
&lt;br /&gt;
This is the list of graylog-server nodes, you can add multiple nodes, separate by commas.&lt;br /&gt;
&lt;br /&gt;
 graylog2-server.uris=&amp;quot;http://127.0.0.1:12900/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Set the application scret and can be generated using pwgen -N 1 -s 96.&lt;br /&gt;
&lt;br /&gt;
application.secret=&amp;quot;sNXyFf6B4Au3GqSlZwq7En86xp10JimdxxYiLtpptOejX6tIUpUE4DGRJOrcMj07wcK0wugPaapvzEzCYinEWj7BOtHXVl5Z&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Set Web interface timezone.&lt;br /&gt;
&lt;br /&gt;
 Timezone=&amp;quot;Europe/Tallinn&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Restart the gralog-web-interface using following command,&lt;br /&gt;
&lt;br /&gt;
 service graylog-web restart&lt;br /&gt;
&lt;br /&gt;
Enable auto start of web interface service during system startup.&lt;br /&gt;
&lt;br /&gt;
 update-rc.d graylog-web defaults&lt;br /&gt;
&lt;br /&gt;
= Experiences =&lt;br /&gt;
&lt;br /&gt;
In during installation time, we have found some problems which will impact on our your installation as well.&lt;br /&gt;
&lt;br /&gt;
- The version of Ubuntu and Graylog might conflict each other as well as Graylog&#039;s packages ( e.g : java )&lt;br /&gt;
&lt;br /&gt;
= Summary =&lt;br /&gt;
&lt;br /&gt;
During the installation Graylogs in both versions of Ubuntu ( 14.04 and 16.0 ). We realized that it had many differences between these versions. Listed above our objectives what we expect to achieve after installing and using Graylog, along with its useful information and its interaction between Administrator (users) with Graylog.&lt;br /&gt;
&lt;br /&gt;
its advantages:&lt;br /&gt;
 + Free.&lt;br /&gt;
 + Easy to interact with web interface.&lt;br /&gt;
 + Easy to install with the good support from its sources.&lt;br /&gt;
 + Help Administrator (user) to collect information in during logging and monitoring straightforwardly.&lt;br /&gt;
 + Many useful tools ( plugins ) which supports to work on.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;http://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/how-to-install-graylog2-on-ubuntu-14-04.html&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=111075</id>
		<title>Logging - Monitoring C21</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=111075"/>
		<updated>2016-10-20T07:55:55Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* Elasticsearch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Logging and Monitoring with Graylog&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Course: Logging and Monitoring - Lecturer: Margus Ernits&lt;br /&gt;
&lt;br /&gt;
Group: Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Team members: Ender Phan, Kustas Kurval, Sheela Gowry Sumathi Raju, Artur Vincent Kerge&lt;br /&gt;
&lt;br /&gt;
Page created on: October 05, 2016&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In order to understand how to set up the Graylog service as well as understand its crucial roles. We decided to choose Graylog as our application for logging and monitoring. Below are our objectives which would be expected to achieve later on:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to install Graylog on Ubuntu 14.04.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to use Graylog to protect servers.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Upgrading and configuring Graylog at first, and know how to secure Graylog.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Threats and security during logging.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Installation Guide =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ubuntu 14.04&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Graylog_simple_setup_v2.png]]&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
Since the Elasticsearch is based on java, we would require to install either openJDK or Oracle JDK. It is recommended to install Oracle JDK, verify the java version by using the following command.&lt;br /&gt;
&lt;br /&gt;
Remove the OpenJDK from the system, if you have it already installed. From now on it is presumed that user has root privileges.&lt;br /&gt;
&lt;br /&gt;
 apt-get remove --purge openjdk*&lt;br /&gt;
Add repository.&lt;br /&gt;
&lt;br /&gt;
 add-apt-repository -y ppa:webupd8team/java&lt;br /&gt;
Run the following command to pull the packages information from the newly added repository.&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
Issue the following command to install Java jdk 1.8.&lt;br /&gt;
&lt;br /&gt;
 apt-get -y install oracle-java8-installer&lt;br /&gt;
&lt;br /&gt;
 java -version&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
&lt;br /&gt;
 Java version &amp;quot;1.8.0_60&amp;quot;&lt;br /&gt;
 Java(TM) SE Runtime Environment (build 1.8.0_60-b27)&lt;br /&gt;
 Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)&lt;br /&gt;
&lt;br /&gt;
== Installing extras ==&lt;br /&gt;
&lt;br /&gt;
=== Elasticsearch ===&lt;br /&gt;
&lt;br /&gt;
Let’s install Elasticsearch, it can be downloaded from the official website.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Download and install GPG signing key&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
Note that the -qO argument is lowercase Quebec followed by capital Oscar.&lt;br /&gt;
&lt;br /&gt;
Save the repository definition to /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;deb http://packages.elastic.co/elasticsearch/2.x/debian stable main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
Update repository cache and install Elasticsearch&lt;br /&gt;
&lt;br /&gt;
 apt-get update &amp;amp;&amp;amp; apt-get install elasticsearch&lt;br /&gt;
&lt;br /&gt;
Configure Elasticsearch to start during system startup.&lt;br /&gt;
&lt;br /&gt;
 update-rc.d elasticsearch defaults&lt;br /&gt;
The only important thing is to set a cluster name as “graylog2“, that is being used by graylog. Now edit the configuration file of Elasticsearch.&lt;br /&gt;
&lt;br /&gt;
 nano /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
&lt;br /&gt;
 cluster.name: graylog2&lt;br /&gt;
&lt;br /&gt;
In the same file disable dynamic scripts to avoid remote execution. That can be done by adding the following line:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FOLLOWING LINE GOES INTO GRAYLOG CONF!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 script.disable_dynamic: true&lt;br /&gt;
&lt;br /&gt;
Once it is done, we are good to go. Before that, restart the Elasticsearch services to load the modified configuration.&lt;br /&gt;
&lt;br /&gt;
 service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
Wait at least a minute to let the Elasticsearch get fully restarted, otherwise testing will fail. Elastisearch should be now listen on 9200 for processing HTTP request, we can use CURL to get the response. Ensure that it returns with cluster name as “graylog2”&lt;br /&gt;
&lt;br /&gt;
 curl -X GET http://localhost:9200&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;status&amp;quot; : 200,&lt;br /&gt;
   &amp;quot;name&amp;quot; : &amp;quot;Pistol&amp;quot;,&lt;br /&gt;
   &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
   &amp;quot;version&amp;quot; : {&lt;br /&gt;
    &amp;quot;number&amp;quot; : &amp;quot;1.7.1&amp;quot;,&lt;br /&gt;
    &amp;quot;build_hash&amp;quot; : &amp;quot;b88f43fc40b0bcd7f173a1f9ee2e97816de80b19&amp;quot;,&lt;br /&gt;
    &amp;quot;build_timestamp&amp;quot; : &amp;quot;2015-07-29T09:54:16Z&amp;quot;,&lt;br /&gt;
    &amp;quot;build_snapshot&amp;quot; : false,&lt;br /&gt;
    &amp;quot;lucene_version&amp;quot; : &amp;quot;4.10.4&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;tagline&amp;quot; : &amp;quot;You Know, for Search&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Optional: Use the following command to check the Elasticsearch cluster health, you must get a cluster status as “green” for graylog to work.&lt;br /&gt;
&lt;br /&gt;
 curl -XGET &#039;http://localhost:9200/_cluster/health?pretty=true&#039;&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;status&amp;quot; : &amp;quot;&#039;&#039;&#039;green&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;timed_out&amp;quot; : false,&lt;br /&gt;
  &amp;quot;number_of_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;number_of_data_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;active_primary_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;active_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;relocating_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;initializing_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;delayed_unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_pending_tasks&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_in_flight_fetch&amp;quot; : 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== MongoDB ===&lt;br /&gt;
&lt;br /&gt;
MongoDB is available in deb format and same can be downloaded from the official website. Add the following repository information on the system to install MongoDB. Before that we must import public key.&lt;br /&gt;
&lt;br /&gt;
 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10&lt;br /&gt;
Add repository by creating the /etc/apt/sources.list.d/mongodb-org-3.0.list list file using the command.&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse&amp;quot; | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list&lt;br /&gt;
Update repository cache.&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
Install MongoDB using the following command.&lt;br /&gt;
&lt;br /&gt;
 apt-get install mongodb-org&lt;br /&gt;
Start the MongoDB service and enable it to start automatically during the system start-up.&lt;br /&gt;
&lt;br /&gt;
 service mongod start&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No /etc/init.d/mongod&#039;&#039;&#039; :( also, why is -s argument needed for ls?&lt;br /&gt;
&lt;br /&gt;
 ls -s /usr/bin/mongod /etc/init.d/mongod&lt;br /&gt;
&lt;br /&gt;
 update-rc.d mongod defaults&lt;br /&gt;
&lt;br /&gt;
=== Graylog2 ===&lt;br /&gt;
&lt;br /&gt;
Graylog-server accepts and process the log messages, also spawns the RESTAPI for the requests that comes from graylog-web-interface. Download the latest version of graylog from graylog.org,&lt;br /&gt;
&lt;br /&gt;
Use the following command to install graylog2 repository.&lt;br /&gt;
&lt;br /&gt;
 $ wget https://packages.graylog2.org/repo/packages/graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
&lt;br /&gt;
 $ sudo dpkg -i graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
Install https suppport and update the repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install apt-transport-https&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Install Graylog server using following command.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install graylog-server &lt;br /&gt;
Edit the server.conf file.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/graylog/server/server.conf&lt;br /&gt;
Configure the following variables in the above file.&lt;br /&gt;
&lt;br /&gt;
Set a secret to secure the user passwords, use the following command to generate a secret, use at least 64 character’s.&lt;br /&gt;
&lt;br /&gt;
 $ pwgen -N 1 -s 96&lt;br /&gt;
&lt;br /&gt;
 OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
If you get a “pwgen: command not found“, use the following command to install pwgen.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install pwgen&lt;br /&gt;
&lt;br /&gt;
Place the secret.&lt;br /&gt;
&lt;br /&gt;
 password_secret = OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
Next is to set a hash password for the root user (not to be confused with system user, root user of graylog is admin). You will use this password for login into the web interface, admin’s password can not be changed using web interface, must edit this variable to set.&lt;br /&gt;
&lt;br /&gt;
Replace “yourpassword” with the choice of your’s.&lt;br /&gt;
&lt;br /&gt;
 # echo -n yourpassword | sha256sum&lt;br /&gt;
&lt;br /&gt;
 e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
&lt;br /&gt;
Place the hash password.&lt;br /&gt;
&lt;br /&gt;
 root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
You can setup email address root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_email = &amp;quot;cyber.web@gmail.com&amp;quot;&lt;br /&gt;
Set timezone of root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_timezone = UTC&lt;br /&gt;
&lt;br /&gt;
Graylog will try to find the Elasticsearch nodes automatically, it uses multicast mode for the same. But when it comes to larger network, it is recommended to use unicast mode which is best suited one for production setups. So add the following two entries to graylog server.conf file, replace ipaddress with live hostname or ipaddress. Multiple hosts can be added with comma separated.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_http_enabled = false&lt;br /&gt;
 elasticsearch_discovery_zen_ping_unicast_hosts = ipaddress:9300&lt;br /&gt;
&lt;br /&gt;
Set only one master node by defining the below variable, default setting is true, you must set it as a false to make the particular node as a slave. Master node performs some periodic tasks that slave won’t perform.&lt;br /&gt;
&lt;br /&gt;
 is_master = true&lt;br /&gt;
&lt;br /&gt;
The following variable sets the number of log messages to keep per index, it is recommended to have several smaller indices instead of larger ones.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_docs_per_index = 20000000&lt;br /&gt;
The following parameter defines to have total number of indices, if the this number is reached old index will be deleted.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_number_of_indices = 20&lt;br /&gt;
Shards setting is really depends on the number of nodes in the Elasticsearch cluster, if you have only one node, set it as 1.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_shards = 1&lt;br /&gt;
The number of replicas for your indices, if you have only one node in Elasticsearch cluster; set it as 0.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_replicas = 0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Restart Graylog service.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 $ sudo service graylog-server restart&lt;br /&gt;
Enable auto start of graylog server service during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d graylog-server defaults&lt;br /&gt;
You can check out the server startup logs, it will be useful for you to troubleshoot graylog in case of any issue.&lt;br /&gt;
&lt;br /&gt;
 # tailf /var/log/graylog-server/server.log&lt;br /&gt;
On successful start of graylog-server, you should get the following message in the log file.&lt;br /&gt;
&lt;br /&gt;
 2015-09-17T09:35:22.895+02:00 INFO  [ServerBootstrap] Graylog server up and running.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Graylog web interface:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To configure graylog-web-interface, you must have at least one graylog-server node. Install Graylog web interface using “apt-get”.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install graylog-web&lt;br /&gt;
Edit the configuration file and set the following parameters.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/graylog/web/web.conf&lt;br /&gt;
This is the list of graylog-server nodes, you can add multiple nodes, separate by commas.&lt;br /&gt;
&lt;br /&gt;
 graylog2-server.uris=&amp;quot;http://127.0.0.1:12900/&amp;quot;&lt;br /&gt;
Set the application scret and can be generated using pwgen -N 1 -s 96.&lt;br /&gt;
&lt;br /&gt;
 application.secret=&amp;quot;sNXyFf6B4Au3GqSlZwq7En86xp10JimdxxYiLtpptOejX6tIUpUE4DGRJOrcMj07wcK0wugPaapvzEzCYinEWj7BOtHXVl5Z&amp;quot;&lt;br /&gt;
Set Web interface timezone.&lt;br /&gt;
&lt;br /&gt;
 Timezone=&amp;quot;Europe/Tallinn&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Restart the gralog-web-interface using following command,&lt;br /&gt;
&lt;br /&gt;
 $ sudo service graylog-web restart&lt;br /&gt;
Enable auto start of web interface service during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d graylog-web defaults&lt;br /&gt;
&lt;br /&gt;
= Experiences =&lt;br /&gt;
&lt;br /&gt;
In during installation time, we have found some problems which will impact on our your installation as well.&lt;br /&gt;
&lt;br /&gt;
- The version of Ubuntu and Graylog might conflict each other as well as Graylog&#039;s packages ( e.g : java )&lt;br /&gt;
&lt;br /&gt;
= Summary =&lt;br /&gt;
&lt;br /&gt;
During the installation Graylogs in both versions of Ubuntu ( 14.04 and 16.0 ). We realized that it had many differences between these versions. Listed above our objectives what we expect to achieve after installing and using Graylog, along with its useful information and its interaction between Administrator (users) with Graylog.&lt;br /&gt;
&lt;br /&gt;
its advantages:&lt;br /&gt;
 + Free.&lt;br /&gt;
 + Easy to interact with web interface.&lt;br /&gt;
 + Easy to install with the good support from its sources.&lt;br /&gt;
 + Help Administrator (user) to collect information in during logging and monitoring straightforwardly.&lt;br /&gt;
 + Many useful tools ( plugins ) which supports to work on.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;http://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/how-to-install-graylog2-on-ubuntu-14-04.html&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=111074</id>
		<title>Logging - Monitoring C21</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=111074"/>
		<updated>2016-10-20T07:55:28Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* Elasticsearch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Logging and Monitoring with Graylog&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Course: Logging and Monitoring - Lecturer: Margus Ernits&lt;br /&gt;
&lt;br /&gt;
Group: Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Team members: Ender Phan, Kustas Kurval, Sheela Gowry Sumathi Raju, Artur Vincent Kerge&lt;br /&gt;
&lt;br /&gt;
Page created on: October 05, 2016&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In order to understand how to set up the Graylog service as well as understand its crucial roles. We decided to choose Graylog as our application for logging and monitoring. Below are our objectives which would be expected to achieve later on:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to install Graylog on Ubuntu 14.04.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to use Graylog to protect servers.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Upgrading and configuring Graylog at first, and know how to secure Graylog.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Threats and security during logging.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Installation Guide =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ubuntu 14.04&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Graylog_simple_setup_v2.png]]&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
Since the Elasticsearch is based on java, we would require to install either openJDK or Oracle JDK. It is recommended to install Oracle JDK, verify the java version by using the following command.&lt;br /&gt;
&lt;br /&gt;
Remove the OpenJDK from the system, if you have it already installed. From now on it is presumed that user has root privileges.&lt;br /&gt;
&lt;br /&gt;
 apt-get remove --purge openjdk*&lt;br /&gt;
Add repository.&lt;br /&gt;
&lt;br /&gt;
 add-apt-repository -y ppa:webupd8team/java&lt;br /&gt;
Run the following command to pull the packages information from the newly added repository.&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
Issue the following command to install Java jdk 1.8.&lt;br /&gt;
&lt;br /&gt;
 apt-get -y install oracle-java8-installer&lt;br /&gt;
&lt;br /&gt;
 java -version&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
&lt;br /&gt;
 Java version &amp;quot;1.8.0_60&amp;quot;&lt;br /&gt;
 Java(TM) SE Runtime Environment (build 1.8.0_60-b27)&lt;br /&gt;
 Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)&lt;br /&gt;
&lt;br /&gt;
== Installing extras ==&lt;br /&gt;
&lt;br /&gt;
=== Elasticsearch ===&lt;br /&gt;
&lt;br /&gt;
Let’s install Elasticsearch, it can be downloaded from the official website.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Download and install GPG signing key&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
Note that the -qO argument is lowercase Quebec followed by capital Oscar.&lt;br /&gt;
&lt;br /&gt;
Save the repository definition to /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;deb http://packages.elastic.co/elasticsearch/2.x/debian stable main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
Update repository cache and install Elasticsearch&lt;br /&gt;
&lt;br /&gt;
 apt-get update &amp;amp;&amp;amp; apt-get install elasticsearch&lt;br /&gt;
&lt;br /&gt;
Configure Elasticsearch to start during system startup.&lt;br /&gt;
&lt;br /&gt;
 update-rc.d elasticsearch defaults&lt;br /&gt;
The only important thing is to set a cluster name as “graylog2“, that is being used by graylog. Now edit the configuration file of Elasticsearch.&lt;br /&gt;
&lt;br /&gt;
 nano /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
&lt;br /&gt;
 cluster.name: graylog2&lt;br /&gt;
&lt;br /&gt;
In the same file disable dynamic scripts to avoid remote execution. That can be done by adding the following line:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;THIS GOES INTO GRAYLOG CONF!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 script.disable_dynamic: true&lt;br /&gt;
&lt;br /&gt;
Once it is done, we are good to go. Before that, restart the Elasticsearch services to load the modified configuration.&lt;br /&gt;
&lt;br /&gt;
 service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
Wait at least a minute to let the Elasticsearch get fully restarted, otherwise testing will fail. Elastisearch should be now listen on 9200 for processing HTTP request, we can use CURL to get the response. Ensure that it returns with cluster name as “graylog2”&lt;br /&gt;
&lt;br /&gt;
 curl -X GET http://localhost:9200&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;status&amp;quot; : 200,&lt;br /&gt;
   &amp;quot;name&amp;quot; : &amp;quot;Pistol&amp;quot;,&lt;br /&gt;
   &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
   &amp;quot;version&amp;quot; : {&lt;br /&gt;
    &amp;quot;number&amp;quot; : &amp;quot;1.7.1&amp;quot;,&lt;br /&gt;
    &amp;quot;build_hash&amp;quot; : &amp;quot;b88f43fc40b0bcd7f173a1f9ee2e97816de80b19&amp;quot;,&lt;br /&gt;
    &amp;quot;build_timestamp&amp;quot; : &amp;quot;2015-07-29T09:54:16Z&amp;quot;,&lt;br /&gt;
    &amp;quot;build_snapshot&amp;quot; : false,&lt;br /&gt;
    &amp;quot;lucene_version&amp;quot; : &amp;quot;4.10.4&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;tagline&amp;quot; : &amp;quot;You Know, for Search&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Optional: Use the following command to check the Elasticsearch cluster health, you must get a cluster status as “green” for graylog to work.&lt;br /&gt;
&lt;br /&gt;
 curl -XGET &#039;http://localhost:9200/_cluster/health?pretty=true&#039;&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;status&amp;quot; : &amp;quot;&#039;&#039;&#039;green&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;timed_out&amp;quot; : false,&lt;br /&gt;
  &amp;quot;number_of_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;number_of_data_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;active_primary_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;active_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;relocating_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;initializing_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;delayed_unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_pending_tasks&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_in_flight_fetch&amp;quot; : 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== MongoDB ===&lt;br /&gt;
&lt;br /&gt;
MongoDB is available in deb format and same can be downloaded from the official website. Add the following repository information on the system to install MongoDB. Before that we must import public key.&lt;br /&gt;
&lt;br /&gt;
 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10&lt;br /&gt;
Add repository by creating the /etc/apt/sources.list.d/mongodb-org-3.0.list list file using the command.&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse&amp;quot; | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list&lt;br /&gt;
Update repository cache.&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
Install MongoDB using the following command.&lt;br /&gt;
&lt;br /&gt;
 apt-get install mongodb-org&lt;br /&gt;
Start the MongoDB service and enable it to start automatically during the system start-up.&lt;br /&gt;
&lt;br /&gt;
 service mongod start&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No /etc/init.d/mongod&#039;&#039;&#039; :( also, why is -s argument needed for ls?&lt;br /&gt;
&lt;br /&gt;
 ls -s /usr/bin/mongod /etc/init.d/mongod&lt;br /&gt;
&lt;br /&gt;
 update-rc.d mongod defaults&lt;br /&gt;
&lt;br /&gt;
=== Graylog2 ===&lt;br /&gt;
&lt;br /&gt;
Graylog-server accepts and process the log messages, also spawns the RESTAPI for the requests that comes from graylog-web-interface. Download the latest version of graylog from graylog.org,&lt;br /&gt;
&lt;br /&gt;
Use the following command to install graylog2 repository.&lt;br /&gt;
&lt;br /&gt;
 $ wget https://packages.graylog2.org/repo/packages/graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
&lt;br /&gt;
 $ sudo dpkg -i graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
Install https suppport and update the repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install apt-transport-https&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Install Graylog server using following command.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install graylog-server &lt;br /&gt;
Edit the server.conf file.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/graylog/server/server.conf&lt;br /&gt;
Configure the following variables in the above file.&lt;br /&gt;
&lt;br /&gt;
Set a secret to secure the user passwords, use the following command to generate a secret, use at least 64 character’s.&lt;br /&gt;
&lt;br /&gt;
 $ pwgen -N 1 -s 96&lt;br /&gt;
&lt;br /&gt;
 OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
If you get a “pwgen: command not found“, use the following command to install pwgen.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install pwgen&lt;br /&gt;
&lt;br /&gt;
Place the secret.&lt;br /&gt;
&lt;br /&gt;
 password_secret = OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
Next is to set a hash password for the root user (not to be confused with system user, root user of graylog is admin). You will use this password for login into the web interface, admin’s password can not be changed using web interface, must edit this variable to set.&lt;br /&gt;
&lt;br /&gt;
Replace “yourpassword” with the choice of your’s.&lt;br /&gt;
&lt;br /&gt;
 # echo -n yourpassword | sha256sum&lt;br /&gt;
&lt;br /&gt;
 e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
&lt;br /&gt;
Place the hash password.&lt;br /&gt;
&lt;br /&gt;
 root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
You can setup email address root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_email = &amp;quot;cyber.web@gmail.com&amp;quot;&lt;br /&gt;
Set timezone of root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_timezone = UTC&lt;br /&gt;
&lt;br /&gt;
Graylog will try to find the Elasticsearch nodes automatically, it uses multicast mode for the same. But when it comes to larger network, it is recommended to use unicast mode which is best suited one for production setups. So add the following two entries to graylog server.conf file, replace ipaddress with live hostname or ipaddress. Multiple hosts can be added with comma separated.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_http_enabled = false&lt;br /&gt;
 elasticsearch_discovery_zen_ping_unicast_hosts = ipaddress:9300&lt;br /&gt;
&lt;br /&gt;
Set only one master node by defining the below variable, default setting is true, you must set it as a false to make the particular node as a slave. Master node performs some periodic tasks that slave won’t perform.&lt;br /&gt;
&lt;br /&gt;
 is_master = true&lt;br /&gt;
&lt;br /&gt;
The following variable sets the number of log messages to keep per index, it is recommended to have several smaller indices instead of larger ones.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_docs_per_index = 20000000&lt;br /&gt;
The following parameter defines to have total number of indices, if the this number is reached old index will be deleted.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_number_of_indices = 20&lt;br /&gt;
Shards setting is really depends on the number of nodes in the Elasticsearch cluster, if you have only one node, set it as 1.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_shards = 1&lt;br /&gt;
The number of replicas for your indices, if you have only one node in Elasticsearch cluster; set it as 0.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_replicas = 0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Restart Graylog service.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 $ sudo service graylog-server restart&lt;br /&gt;
Enable auto start of graylog server service during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d graylog-server defaults&lt;br /&gt;
You can check out the server startup logs, it will be useful for you to troubleshoot graylog in case of any issue.&lt;br /&gt;
&lt;br /&gt;
 # tailf /var/log/graylog-server/server.log&lt;br /&gt;
On successful start of graylog-server, you should get the following message in the log file.&lt;br /&gt;
&lt;br /&gt;
 2015-09-17T09:35:22.895+02:00 INFO  [ServerBootstrap] Graylog server up and running.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Graylog web interface:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To configure graylog-web-interface, you must have at least one graylog-server node. Install Graylog web interface using “apt-get”.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install graylog-web&lt;br /&gt;
Edit the configuration file and set the following parameters.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/graylog/web/web.conf&lt;br /&gt;
This is the list of graylog-server nodes, you can add multiple nodes, separate by commas.&lt;br /&gt;
&lt;br /&gt;
 graylog2-server.uris=&amp;quot;http://127.0.0.1:12900/&amp;quot;&lt;br /&gt;
Set the application scret and can be generated using pwgen -N 1 -s 96.&lt;br /&gt;
&lt;br /&gt;
 application.secret=&amp;quot;sNXyFf6B4Au3GqSlZwq7En86xp10JimdxxYiLtpptOejX6tIUpUE4DGRJOrcMj07wcK0wugPaapvzEzCYinEWj7BOtHXVl5Z&amp;quot;&lt;br /&gt;
Set Web interface timezone.&lt;br /&gt;
&lt;br /&gt;
 Timezone=&amp;quot;Europe/Tallinn&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Restart the gralog-web-interface using following command,&lt;br /&gt;
&lt;br /&gt;
 $ sudo service graylog-web restart&lt;br /&gt;
Enable auto start of web interface service during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d graylog-web defaults&lt;br /&gt;
&lt;br /&gt;
= Experiences =&lt;br /&gt;
&lt;br /&gt;
In during installation time, we have found some problems which will impact on our your installation as well.&lt;br /&gt;
&lt;br /&gt;
- The version of Ubuntu and Graylog might conflict each other as well as Graylog&#039;s packages ( e.g : java )&lt;br /&gt;
&lt;br /&gt;
= Summary =&lt;br /&gt;
&lt;br /&gt;
During the installation Graylogs in both versions of Ubuntu ( 14.04 and 16.0 ). We realized that it had many differences between these versions. Listed above our objectives what we expect to achieve after installing and using Graylog, along with its useful information and its interaction between Administrator (users) with Graylog.&lt;br /&gt;
&lt;br /&gt;
its advantages:&lt;br /&gt;
 + Free.&lt;br /&gt;
 + Easy to interact with web interface.&lt;br /&gt;
 + Easy to install with the good support from its sources.&lt;br /&gt;
 + Help Administrator (user) to collect information in during logging and monitoring straightforwardly.&lt;br /&gt;
 + Many useful tools ( plugins ) which supports to work on.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;http://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/how-to-install-graylog2-on-ubuntu-14-04.html&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=111072</id>
		<title>Logging - Monitoring C21</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=111072"/>
		<updated>2016-10-20T07:53:24Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* MongoDB */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Logging and Monitoring with Graylog&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Course: Logging and Monitoring - Lecturer: Margus Ernits&lt;br /&gt;
&lt;br /&gt;
Group: Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Team members: Ender Phan, Kustas Kurval, Sheela Gowry Sumathi Raju, Artur Vincent Kerge&lt;br /&gt;
&lt;br /&gt;
Page created on: October 05, 2016&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In order to understand how to set up the Graylog service as well as understand its crucial roles. We decided to choose Graylog as our application for logging and monitoring. Below are our objectives which would be expected to achieve later on:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to install Graylog on Ubuntu 14.04.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to use Graylog to protect servers.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Upgrading and configuring Graylog at first, and know how to secure Graylog.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Threats and security during logging.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Installation Guide =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ubuntu 14.04&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Graylog_simple_setup_v2.png]]&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
Since the Elasticsearch is based on java, we would require to install either openJDK or Oracle JDK. It is recommended to install Oracle JDK, verify the java version by using the following command.&lt;br /&gt;
&lt;br /&gt;
Remove the OpenJDK from the system, if you have it already installed. From now on it is presumed that user has root privileges.&lt;br /&gt;
&lt;br /&gt;
 apt-get remove --purge openjdk*&lt;br /&gt;
Add repository.&lt;br /&gt;
&lt;br /&gt;
 add-apt-repository -y ppa:webupd8team/java&lt;br /&gt;
Run the following command to pull the packages information from the newly added repository.&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
Issue the following command to install Java jdk 1.8.&lt;br /&gt;
&lt;br /&gt;
 apt-get -y install oracle-java8-installer&lt;br /&gt;
&lt;br /&gt;
 java -version&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
&lt;br /&gt;
 Java version &amp;quot;1.8.0_60&amp;quot;&lt;br /&gt;
 Java(TM) SE Runtime Environment (build 1.8.0_60-b27)&lt;br /&gt;
 Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)&lt;br /&gt;
&lt;br /&gt;
== Installing extras ==&lt;br /&gt;
&lt;br /&gt;
=== Elasticsearch ===&lt;br /&gt;
&lt;br /&gt;
Let’s install Elasticsearch, it can be downloaded from the official website.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Download and install GPG signing key&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
Note that the -qO argument is lowercase Quebec followed by capital Oscar.&lt;br /&gt;
&lt;br /&gt;
Save the repository definition to /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;deb http://packages.elastic.co/elasticsearch/2.x/debian stable main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
Update repository cache and install Elasticsearch&lt;br /&gt;
&lt;br /&gt;
 apt-get update &amp;amp;&amp;amp; apt-get install elasticsearch&lt;br /&gt;
&lt;br /&gt;
Configure Elasticsearch to start during system startup.&lt;br /&gt;
&lt;br /&gt;
 update-rc.d elasticsearch defaults&lt;br /&gt;
The only important thing is to set a cluster name as “graylog2“, that is being used by graylog. Now edit the configuration file of Elasticsearch.&lt;br /&gt;
&lt;br /&gt;
 nano /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
&lt;br /&gt;
 cluster.name: graylog2&lt;br /&gt;
&lt;br /&gt;
In the same file disable dynamic scripts to avoid remote execution. That can be done by adding the following line:&lt;br /&gt;
&lt;br /&gt;
THIS GOES INTO GRAYLOG CONF!&lt;br /&gt;
&lt;br /&gt;
 script.disable_dynamic: true&lt;br /&gt;
&lt;br /&gt;
Once it is done, we are good to go. Before that, restart the Elasticsearch services to load the modified configuration.&lt;br /&gt;
&lt;br /&gt;
 service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
Wait at least a minute to let the Elasticsearch get fully restarted, otherwise testing will fail. Elastisearch should be now listen on 9200 for processing HTTP request, we can use CURL to get the response. Ensure that it returns with cluster name as “graylog2”&lt;br /&gt;
&lt;br /&gt;
 curl -X GET http://localhost:9200&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;status&amp;quot; : 200,&lt;br /&gt;
   &amp;quot;name&amp;quot; : &amp;quot;Pistol&amp;quot;,&lt;br /&gt;
   &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
   &amp;quot;version&amp;quot; : {&lt;br /&gt;
    &amp;quot;number&amp;quot; : &amp;quot;1.7.1&amp;quot;,&lt;br /&gt;
    &amp;quot;build_hash&amp;quot; : &amp;quot;b88f43fc40b0bcd7f173a1f9ee2e97816de80b19&amp;quot;,&lt;br /&gt;
    &amp;quot;build_timestamp&amp;quot; : &amp;quot;2015-07-29T09:54:16Z&amp;quot;,&lt;br /&gt;
    &amp;quot;build_snapshot&amp;quot; : false,&lt;br /&gt;
    &amp;quot;lucene_version&amp;quot; : &amp;quot;4.10.4&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;tagline&amp;quot; : &amp;quot;You Know, for Search&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Optional: Use the following command to check the Elasticsearch cluster health, you must get a cluster status as “green” for graylog to work.&lt;br /&gt;
&lt;br /&gt;
 curl -XGET &#039;http://localhost:9200/_cluster/health?pretty=true&#039;&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;status&amp;quot; : &amp;quot;&#039;&#039;&#039;green&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;timed_out&amp;quot; : false,&lt;br /&gt;
  &amp;quot;number_of_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;number_of_data_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;active_primary_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;active_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;relocating_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;initializing_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;delayed_unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_pending_tasks&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_in_flight_fetch&amp;quot; : 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== MongoDB ===&lt;br /&gt;
&lt;br /&gt;
MongoDB is available in deb format and same can be downloaded from the official website. Add the following repository information on the system to install MongoDB. Before that we must import public key.&lt;br /&gt;
&lt;br /&gt;
 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10&lt;br /&gt;
Add repository by creating the /etc/apt/sources.list.d/mongodb-org-3.0.list list file using the command.&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse&amp;quot; | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list&lt;br /&gt;
Update repository cache.&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
Install MongoDB using the following command.&lt;br /&gt;
&lt;br /&gt;
 apt-get install mongodb-org&lt;br /&gt;
Start the MongoDB service and enable it to start automatically during the system start-up.&lt;br /&gt;
&lt;br /&gt;
 service mongod start&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No /etc/init.d/mongod&#039;&#039;&#039; :( also, why is -s argument needed for ls?&lt;br /&gt;
&lt;br /&gt;
 ls -s /usr/bin/mongod /etc/init.d/mongod&lt;br /&gt;
&lt;br /&gt;
 update-rc.d mongod defaults&lt;br /&gt;
&lt;br /&gt;
=== Graylog2 ===&lt;br /&gt;
&lt;br /&gt;
Graylog-server accepts and process the log messages, also spawns the RESTAPI for the requests that comes from graylog-web-interface. Download the latest version of graylog from graylog.org,&lt;br /&gt;
&lt;br /&gt;
Use the following command to install graylog2 repository.&lt;br /&gt;
&lt;br /&gt;
 $ wget https://packages.graylog2.org/repo/packages/graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
&lt;br /&gt;
 $ sudo dpkg -i graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
Install https suppport and update the repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install apt-transport-https&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Install Graylog server using following command.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install graylog-server &lt;br /&gt;
Edit the server.conf file.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/graylog/server/server.conf&lt;br /&gt;
Configure the following variables in the above file.&lt;br /&gt;
&lt;br /&gt;
Set a secret to secure the user passwords, use the following command to generate a secret, use at least 64 character’s.&lt;br /&gt;
&lt;br /&gt;
 $ pwgen -N 1 -s 96&lt;br /&gt;
&lt;br /&gt;
 OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
If you get a “pwgen: command not found“, use the following command to install pwgen.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install pwgen&lt;br /&gt;
&lt;br /&gt;
Place the secret.&lt;br /&gt;
&lt;br /&gt;
 password_secret = OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
Next is to set a hash password for the root user (not to be confused with system user, root user of graylog is admin). You will use this password for login into the web interface, admin’s password can not be changed using web interface, must edit this variable to set.&lt;br /&gt;
&lt;br /&gt;
Replace “yourpassword” with the choice of your’s.&lt;br /&gt;
&lt;br /&gt;
 # echo -n yourpassword | sha256sum&lt;br /&gt;
&lt;br /&gt;
 e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
&lt;br /&gt;
Place the hash password.&lt;br /&gt;
&lt;br /&gt;
 root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
You can setup email address root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_email = &amp;quot;cyber.web@gmail.com&amp;quot;&lt;br /&gt;
Set timezone of root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_timezone = UTC&lt;br /&gt;
&lt;br /&gt;
Graylog will try to find the Elasticsearch nodes automatically, it uses multicast mode for the same. But when it comes to larger network, it is recommended to use unicast mode which is best suited one for production setups. So add the following two entries to graylog server.conf file, replace ipaddress with live hostname or ipaddress. Multiple hosts can be added with comma separated.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_http_enabled = false&lt;br /&gt;
 elasticsearch_discovery_zen_ping_unicast_hosts = ipaddress:9300&lt;br /&gt;
&lt;br /&gt;
Set only one master node by defining the below variable, default setting is true, you must set it as a false to make the particular node as a slave. Master node performs some periodic tasks that slave won’t perform.&lt;br /&gt;
&lt;br /&gt;
 is_master = true&lt;br /&gt;
&lt;br /&gt;
The following variable sets the number of log messages to keep per index, it is recommended to have several smaller indices instead of larger ones.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_docs_per_index = 20000000&lt;br /&gt;
The following parameter defines to have total number of indices, if the this number is reached old index will be deleted.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_number_of_indices = 20&lt;br /&gt;
Shards setting is really depends on the number of nodes in the Elasticsearch cluster, if you have only one node, set it as 1.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_shards = 1&lt;br /&gt;
The number of replicas for your indices, if you have only one node in Elasticsearch cluster; set it as 0.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_replicas = 0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Restart Graylog service.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 $ sudo service graylog-server restart&lt;br /&gt;
Enable auto start of graylog server service during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d graylog-server defaults&lt;br /&gt;
You can check out the server startup logs, it will be useful for you to troubleshoot graylog in case of any issue.&lt;br /&gt;
&lt;br /&gt;
 # tailf /var/log/graylog-server/server.log&lt;br /&gt;
On successful start of graylog-server, you should get the following message in the log file.&lt;br /&gt;
&lt;br /&gt;
 2015-09-17T09:35:22.895+02:00 INFO  [ServerBootstrap] Graylog server up and running.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Graylog web interface:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To configure graylog-web-interface, you must have at least one graylog-server node. Install Graylog web interface using “apt-get”.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install graylog-web&lt;br /&gt;
Edit the configuration file and set the following parameters.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/graylog/web/web.conf&lt;br /&gt;
This is the list of graylog-server nodes, you can add multiple nodes, separate by commas.&lt;br /&gt;
&lt;br /&gt;
 graylog2-server.uris=&amp;quot;http://127.0.0.1:12900/&amp;quot;&lt;br /&gt;
Set the application scret and can be generated using pwgen -N 1 -s 96.&lt;br /&gt;
&lt;br /&gt;
 application.secret=&amp;quot;sNXyFf6B4Au3GqSlZwq7En86xp10JimdxxYiLtpptOejX6tIUpUE4DGRJOrcMj07wcK0wugPaapvzEzCYinEWj7BOtHXVl5Z&amp;quot;&lt;br /&gt;
Set Web interface timezone.&lt;br /&gt;
&lt;br /&gt;
 Timezone=&amp;quot;Europe/Tallinn&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Restart the gralog-web-interface using following command,&lt;br /&gt;
&lt;br /&gt;
 $ sudo service graylog-web restart&lt;br /&gt;
Enable auto start of web interface service during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d graylog-web defaults&lt;br /&gt;
&lt;br /&gt;
= Experiences =&lt;br /&gt;
&lt;br /&gt;
In during installation time, we have found some problems which will impact on our your installation as well.&lt;br /&gt;
&lt;br /&gt;
- The version of Ubuntu and Graylog might conflict each other as well as Graylog&#039;s packages ( e.g : java )&lt;br /&gt;
&lt;br /&gt;
= Summary =&lt;br /&gt;
&lt;br /&gt;
During the installation Graylogs in both versions of Ubuntu ( 14.04 and 16.0 ). We realized that it had many differences between these versions. Listed above our objectives what we expect to achieve after installing and using Graylog, along with its useful information and its interaction between Administrator (users) with Graylog.&lt;br /&gt;
&lt;br /&gt;
its advantages:&lt;br /&gt;
 + Free.&lt;br /&gt;
 + Easy to interact with web interface.&lt;br /&gt;
 + Easy to install with the good support from its sources.&lt;br /&gt;
 + Help Administrator (user) to collect information in during logging and monitoring straightforwardly.&lt;br /&gt;
 + Many useful tools ( plugins ) which supports to work on.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;http://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/how-to-install-graylog2-on-ubuntu-14-04.html&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=111071</id>
		<title>Logging - Monitoring C21</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=111071"/>
		<updated>2016-10-20T07:49:23Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* MongoDB */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Logging and Monitoring with Graylog&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Course: Logging and Monitoring - Lecturer: Margus Ernits&lt;br /&gt;
&lt;br /&gt;
Group: Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Team members: Ender Phan, Kustas Kurval, Sheela Gowry Sumathi Raju, Artur Vincent Kerge&lt;br /&gt;
&lt;br /&gt;
Page created on: October 05, 2016&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In order to understand how to set up the Graylog service as well as understand its crucial roles. We decided to choose Graylog as our application for logging and monitoring. Below are our objectives which would be expected to achieve later on:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to install Graylog on Ubuntu 14.04.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to use Graylog to protect servers.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Upgrading and configuring Graylog at first, and know how to secure Graylog.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Threats and security during logging.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Installation Guide =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ubuntu 14.04&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Graylog_simple_setup_v2.png]]&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
Since the Elasticsearch is based on java, we would require to install either openJDK or Oracle JDK. It is recommended to install Oracle JDK, verify the java version by using the following command.&lt;br /&gt;
&lt;br /&gt;
Remove the OpenJDK from the system, if you have it already installed. From now on it is presumed that user has root privileges.&lt;br /&gt;
&lt;br /&gt;
 apt-get remove --purge openjdk*&lt;br /&gt;
Add repository.&lt;br /&gt;
&lt;br /&gt;
 add-apt-repository -y ppa:webupd8team/java&lt;br /&gt;
Run the following command to pull the packages information from the newly added repository.&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
Issue the following command to install Java jdk 1.8.&lt;br /&gt;
&lt;br /&gt;
 apt-get -y install oracle-java8-installer&lt;br /&gt;
&lt;br /&gt;
 java -version&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
&lt;br /&gt;
 Java version &amp;quot;1.8.0_60&amp;quot;&lt;br /&gt;
 Java(TM) SE Runtime Environment (build 1.8.0_60-b27)&lt;br /&gt;
 Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)&lt;br /&gt;
&lt;br /&gt;
== Installing extras ==&lt;br /&gt;
&lt;br /&gt;
=== Elasticsearch ===&lt;br /&gt;
&lt;br /&gt;
Let’s install Elasticsearch, it can be downloaded from the official website.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Download and install GPG signing key&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
Note that the -qO argument is lowercase Quebec followed by capital Oscar.&lt;br /&gt;
&lt;br /&gt;
Save the repository definition to /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;deb http://packages.elastic.co/elasticsearch/2.x/debian stable main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
Update repository cache and install Elasticsearch&lt;br /&gt;
&lt;br /&gt;
 apt-get update &amp;amp;&amp;amp; apt-get install elasticsearch&lt;br /&gt;
&lt;br /&gt;
Configure Elasticsearch to start during system startup.&lt;br /&gt;
&lt;br /&gt;
 update-rc.d elasticsearch defaults&lt;br /&gt;
The only important thing is to set a cluster name as “graylog2“, that is being used by graylog. Now edit the configuration file of Elasticsearch.&lt;br /&gt;
&lt;br /&gt;
 nano /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
&lt;br /&gt;
 cluster.name: graylog2&lt;br /&gt;
&lt;br /&gt;
In the same file disable dynamic scripts to avoid remote execution. That can be done by adding the following line:&lt;br /&gt;
&lt;br /&gt;
THIS GOES INTO GRAYLOG CONF!&lt;br /&gt;
&lt;br /&gt;
 script.disable_dynamic: true&lt;br /&gt;
&lt;br /&gt;
Once it is done, we are good to go. Before that, restart the Elasticsearch services to load the modified configuration.&lt;br /&gt;
&lt;br /&gt;
 service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
Wait at least a minute to let the Elasticsearch get fully restarted, otherwise testing will fail. Elastisearch should be now listen on 9200 for processing HTTP request, we can use CURL to get the response. Ensure that it returns with cluster name as “graylog2”&lt;br /&gt;
&lt;br /&gt;
 curl -X GET http://localhost:9200&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;status&amp;quot; : 200,&lt;br /&gt;
   &amp;quot;name&amp;quot; : &amp;quot;Pistol&amp;quot;,&lt;br /&gt;
   &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
   &amp;quot;version&amp;quot; : {&lt;br /&gt;
    &amp;quot;number&amp;quot; : &amp;quot;1.7.1&amp;quot;,&lt;br /&gt;
    &amp;quot;build_hash&amp;quot; : &amp;quot;b88f43fc40b0bcd7f173a1f9ee2e97816de80b19&amp;quot;,&lt;br /&gt;
    &amp;quot;build_timestamp&amp;quot; : &amp;quot;2015-07-29T09:54:16Z&amp;quot;,&lt;br /&gt;
    &amp;quot;build_snapshot&amp;quot; : false,&lt;br /&gt;
    &amp;quot;lucene_version&amp;quot; : &amp;quot;4.10.4&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;tagline&amp;quot; : &amp;quot;You Know, for Search&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Optional: Use the following command to check the Elasticsearch cluster health, you must get a cluster status as “green” for graylog to work.&lt;br /&gt;
&lt;br /&gt;
 curl -XGET &#039;http://localhost:9200/_cluster/health?pretty=true&#039;&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;status&amp;quot; : &amp;quot;&#039;&#039;&#039;green&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;timed_out&amp;quot; : false,&lt;br /&gt;
  &amp;quot;number_of_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;number_of_data_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;active_primary_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;active_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;relocating_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;initializing_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;delayed_unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_pending_tasks&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_in_flight_fetch&amp;quot; : 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== MongoDB ===&lt;br /&gt;
&lt;br /&gt;
MongoDB is available in deb format and same can be downloaded from the official website. Add the following repository information on the system to install MongoDB. Before that we must import public key.&lt;br /&gt;
&lt;br /&gt;
 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10&lt;br /&gt;
Add repository by creating the /etc/apt/sources.list.d/mongodb-org-3.0.list list file using the command.&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse&amp;quot; | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list&lt;br /&gt;
Update repository cache.&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
Install MongoDB using the following command.&lt;br /&gt;
&lt;br /&gt;
 apt-get install mongodb-org&lt;br /&gt;
Start the MongoDB service and enable it to start automatically during the system start-up.&lt;br /&gt;
&lt;br /&gt;
 service mongod start&lt;br /&gt;
&lt;br /&gt;
 ls -s /usr/bin/mongod /etc/init.d/mongod&lt;br /&gt;
&lt;br /&gt;
 update-rc.d mongod defaults&lt;br /&gt;
&lt;br /&gt;
=== Graylog2 ===&lt;br /&gt;
&lt;br /&gt;
Graylog-server accepts and process the log messages, also spawns the RESTAPI for the requests that comes from graylog-web-interface. Download the latest version of graylog from graylog.org,&lt;br /&gt;
&lt;br /&gt;
Use the following command to install graylog2 repository.&lt;br /&gt;
&lt;br /&gt;
 $ wget https://packages.graylog2.org/repo/packages/graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
&lt;br /&gt;
 $ sudo dpkg -i graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
Install https suppport and update the repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install apt-transport-https&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Install Graylog server using following command.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install graylog-server &lt;br /&gt;
Edit the server.conf file.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/graylog/server/server.conf&lt;br /&gt;
Configure the following variables in the above file.&lt;br /&gt;
&lt;br /&gt;
Set a secret to secure the user passwords, use the following command to generate a secret, use at least 64 character’s.&lt;br /&gt;
&lt;br /&gt;
 $ pwgen -N 1 -s 96&lt;br /&gt;
&lt;br /&gt;
 OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
If you get a “pwgen: command not found“, use the following command to install pwgen.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install pwgen&lt;br /&gt;
&lt;br /&gt;
Place the secret.&lt;br /&gt;
&lt;br /&gt;
 password_secret = OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
Next is to set a hash password for the root user (not to be confused with system user, root user of graylog is admin). You will use this password for login into the web interface, admin’s password can not be changed using web interface, must edit this variable to set.&lt;br /&gt;
&lt;br /&gt;
Replace “yourpassword” with the choice of your’s.&lt;br /&gt;
&lt;br /&gt;
 # echo -n yourpassword | sha256sum&lt;br /&gt;
&lt;br /&gt;
 e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
&lt;br /&gt;
Place the hash password.&lt;br /&gt;
&lt;br /&gt;
 root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
You can setup email address root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_email = &amp;quot;cyber.web@gmail.com&amp;quot;&lt;br /&gt;
Set timezone of root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_timezone = UTC&lt;br /&gt;
&lt;br /&gt;
Graylog will try to find the Elasticsearch nodes automatically, it uses multicast mode for the same. But when it comes to larger network, it is recommended to use unicast mode which is best suited one for production setups. So add the following two entries to graylog server.conf file, replace ipaddress with live hostname or ipaddress. Multiple hosts can be added with comma separated.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_http_enabled = false&lt;br /&gt;
 elasticsearch_discovery_zen_ping_unicast_hosts = ipaddress:9300&lt;br /&gt;
&lt;br /&gt;
Set only one master node by defining the below variable, default setting is true, you must set it as a false to make the particular node as a slave. Master node performs some periodic tasks that slave won’t perform.&lt;br /&gt;
&lt;br /&gt;
 is_master = true&lt;br /&gt;
&lt;br /&gt;
The following variable sets the number of log messages to keep per index, it is recommended to have several smaller indices instead of larger ones.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_docs_per_index = 20000000&lt;br /&gt;
The following parameter defines to have total number of indices, if the this number is reached old index will be deleted.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_number_of_indices = 20&lt;br /&gt;
Shards setting is really depends on the number of nodes in the Elasticsearch cluster, if you have only one node, set it as 1.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_shards = 1&lt;br /&gt;
The number of replicas for your indices, if you have only one node in Elasticsearch cluster; set it as 0.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_replicas = 0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Restart Graylog service.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 $ sudo service graylog-server restart&lt;br /&gt;
Enable auto start of graylog server service during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d graylog-server defaults&lt;br /&gt;
You can check out the server startup logs, it will be useful for you to troubleshoot graylog in case of any issue.&lt;br /&gt;
&lt;br /&gt;
 # tailf /var/log/graylog-server/server.log&lt;br /&gt;
On successful start of graylog-server, you should get the following message in the log file.&lt;br /&gt;
&lt;br /&gt;
 2015-09-17T09:35:22.895+02:00 INFO  [ServerBootstrap] Graylog server up and running.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Graylog web interface:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To configure graylog-web-interface, you must have at least one graylog-server node. Install Graylog web interface using “apt-get”.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install graylog-web&lt;br /&gt;
Edit the configuration file and set the following parameters.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/graylog/web/web.conf&lt;br /&gt;
This is the list of graylog-server nodes, you can add multiple nodes, separate by commas.&lt;br /&gt;
&lt;br /&gt;
 graylog2-server.uris=&amp;quot;http://127.0.0.1:12900/&amp;quot;&lt;br /&gt;
Set the application scret and can be generated using pwgen -N 1 -s 96.&lt;br /&gt;
&lt;br /&gt;
 application.secret=&amp;quot;sNXyFf6B4Au3GqSlZwq7En86xp10JimdxxYiLtpptOejX6tIUpUE4DGRJOrcMj07wcK0wugPaapvzEzCYinEWj7BOtHXVl5Z&amp;quot;&lt;br /&gt;
Set Web interface timezone.&lt;br /&gt;
&lt;br /&gt;
 Timezone=&amp;quot;Europe/Tallinn&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Restart the gralog-web-interface using following command,&lt;br /&gt;
&lt;br /&gt;
 $ sudo service graylog-web restart&lt;br /&gt;
Enable auto start of web interface service during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d graylog-web defaults&lt;br /&gt;
&lt;br /&gt;
= Experiences =&lt;br /&gt;
&lt;br /&gt;
In during installation time, we have found some problems which will impact on our your installation as well.&lt;br /&gt;
&lt;br /&gt;
- The version of Ubuntu and Graylog might conflict each other as well as Graylog&#039;s packages ( e.g : java )&lt;br /&gt;
&lt;br /&gt;
= Summary =&lt;br /&gt;
&lt;br /&gt;
During the installation Graylogs in both versions of Ubuntu ( 14.04 and 16.0 ). We realized that it had many differences between these versions. Listed above our objectives what we expect to achieve after installing and using Graylog, along with its useful information and its interaction between Administrator (users) with Graylog.&lt;br /&gt;
&lt;br /&gt;
its advantages:&lt;br /&gt;
 + Free.&lt;br /&gt;
 + Easy to interact with web interface.&lt;br /&gt;
 + Easy to install with the good support from its sources.&lt;br /&gt;
 + Help Administrator (user) to collect information in during logging and monitoring straightforwardly.&lt;br /&gt;
 + Many useful tools ( plugins ) which supports to work on.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;http://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/how-to-install-graylog2-on-ubuntu-14-04.html&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=111070</id>
		<title>Logging - Monitoring C21</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=111070"/>
		<updated>2016-10-20T07:48:23Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* MongoDB */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Logging and Monitoring with Graylog&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Course: Logging and Monitoring - Lecturer: Margus Ernits&lt;br /&gt;
&lt;br /&gt;
Group: Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Team members: Ender Phan, Kustas Kurval, Sheela Gowry Sumathi Raju, Artur Vincent Kerge&lt;br /&gt;
&lt;br /&gt;
Page created on: October 05, 2016&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In order to understand how to set up the Graylog service as well as understand its crucial roles. We decided to choose Graylog as our application for logging and monitoring. Below are our objectives which would be expected to achieve later on:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to install Graylog on Ubuntu 14.04.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to use Graylog to protect servers.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Upgrading and configuring Graylog at first, and know how to secure Graylog.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Threats and security during logging.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Installation Guide =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ubuntu 14.04&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Graylog_simple_setup_v2.png]]&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
Since the Elasticsearch is based on java, we would require to install either openJDK or Oracle JDK. It is recommended to install Oracle JDK, verify the java version by using the following command.&lt;br /&gt;
&lt;br /&gt;
Remove the OpenJDK from the system, if you have it already installed. From now on it is presumed that user has root privileges.&lt;br /&gt;
&lt;br /&gt;
 apt-get remove --purge openjdk*&lt;br /&gt;
Add repository.&lt;br /&gt;
&lt;br /&gt;
 add-apt-repository -y ppa:webupd8team/java&lt;br /&gt;
Run the following command to pull the packages information from the newly added repository.&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
Issue the following command to install Java jdk 1.8.&lt;br /&gt;
&lt;br /&gt;
 apt-get -y install oracle-java8-installer&lt;br /&gt;
&lt;br /&gt;
 java -version&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
&lt;br /&gt;
 Java version &amp;quot;1.8.0_60&amp;quot;&lt;br /&gt;
 Java(TM) SE Runtime Environment (build 1.8.0_60-b27)&lt;br /&gt;
 Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)&lt;br /&gt;
&lt;br /&gt;
== Installing extras ==&lt;br /&gt;
&lt;br /&gt;
=== Elasticsearch ===&lt;br /&gt;
&lt;br /&gt;
Let’s install Elasticsearch, it can be downloaded from the official website.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Download and install GPG signing key&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
Note that the -qO argument is lowercase Quebec followed by capital Oscar.&lt;br /&gt;
&lt;br /&gt;
Save the repository definition to /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;deb http://packages.elastic.co/elasticsearch/2.x/debian stable main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
Update repository cache and install Elasticsearch&lt;br /&gt;
&lt;br /&gt;
 apt-get update &amp;amp;&amp;amp; apt-get install elasticsearch&lt;br /&gt;
&lt;br /&gt;
Configure Elasticsearch to start during system startup.&lt;br /&gt;
&lt;br /&gt;
 update-rc.d elasticsearch defaults&lt;br /&gt;
The only important thing is to set a cluster name as “graylog2“, that is being used by graylog. Now edit the configuration file of Elasticsearch.&lt;br /&gt;
&lt;br /&gt;
 nano /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
&lt;br /&gt;
 cluster.name: graylog2&lt;br /&gt;
&lt;br /&gt;
In the same file disable dynamic scripts to avoid remote execution. That can be done by adding the following line:&lt;br /&gt;
&lt;br /&gt;
THIS GOES INTO GRAYLOG CONF!&lt;br /&gt;
&lt;br /&gt;
 script.disable_dynamic: true&lt;br /&gt;
&lt;br /&gt;
Once it is done, we are good to go. Before that, restart the Elasticsearch services to load the modified configuration.&lt;br /&gt;
&lt;br /&gt;
 service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
Wait at least a minute to let the Elasticsearch get fully restarted, otherwise testing will fail. Elastisearch should be now listen on 9200 for processing HTTP request, we can use CURL to get the response. Ensure that it returns with cluster name as “graylog2”&lt;br /&gt;
&lt;br /&gt;
 curl -X GET http://localhost:9200&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;status&amp;quot; : 200,&lt;br /&gt;
   &amp;quot;name&amp;quot; : &amp;quot;Pistol&amp;quot;,&lt;br /&gt;
   &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
   &amp;quot;version&amp;quot; : {&lt;br /&gt;
    &amp;quot;number&amp;quot; : &amp;quot;1.7.1&amp;quot;,&lt;br /&gt;
    &amp;quot;build_hash&amp;quot; : &amp;quot;b88f43fc40b0bcd7f173a1f9ee2e97816de80b19&amp;quot;,&lt;br /&gt;
    &amp;quot;build_timestamp&amp;quot; : &amp;quot;2015-07-29T09:54:16Z&amp;quot;,&lt;br /&gt;
    &amp;quot;build_snapshot&amp;quot; : false,&lt;br /&gt;
    &amp;quot;lucene_version&amp;quot; : &amp;quot;4.10.4&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;tagline&amp;quot; : &amp;quot;You Know, for Search&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Optional: Use the following command to check the Elasticsearch cluster health, you must get a cluster status as “green” for graylog to work.&lt;br /&gt;
&lt;br /&gt;
 curl -XGET &#039;http://localhost:9200/_cluster/health?pretty=true&#039;&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;status&amp;quot; : &amp;quot;&#039;&#039;&#039;green&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;timed_out&amp;quot; : false,&lt;br /&gt;
  &amp;quot;number_of_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;number_of_data_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;active_primary_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;active_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;relocating_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;initializing_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;delayed_unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_pending_tasks&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_in_flight_fetch&amp;quot; : 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== MongoDB ===&lt;br /&gt;
&lt;br /&gt;
MongoDB is available in dep format and same can be downloaded from the official website. Add the following repository information on the system to install MongoDB. Before that we must import public key.&lt;br /&gt;
&lt;br /&gt;
 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10&lt;br /&gt;
Add repository by creating the /etc/apt/sources.list.d/mongodb-org-3.0.list list file using the command.&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse&amp;quot; | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list&lt;br /&gt;
Update repository cache.&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
Install MongoDB using the following command.&lt;br /&gt;
&lt;br /&gt;
 apt-get install mongodb-org&lt;br /&gt;
Start the MongoDB service and enable it to start automatically during the system start-up.&lt;br /&gt;
&lt;br /&gt;
 service mongod start&lt;br /&gt;
&lt;br /&gt;
 ls -s /usr/bin/mongod /etc/init.d/mongod&lt;br /&gt;
&lt;br /&gt;
 update-rc.d mongod defaults&lt;br /&gt;
&lt;br /&gt;
=== Graylog2 ===&lt;br /&gt;
&lt;br /&gt;
Graylog-server accepts and process the log messages, also spawns the RESTAPI for the requests that comes from graylog-web-interface. Download the latest version of graylog from graylog.org,&lt;br /&gt;
&lt;br /&gt;
Use the following command to install graylog2 repository.&lt;br /&gt;
&lt;br /&gt;
 $ wget https://packages.graylog2.org/repo/packages/graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
&lt;br /&gt;
 $ sudo dpkg -i graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
Install https suppport and update the repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install apt-transport-https&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Install Graylog server using following command.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install graylog-server &lt;br /&gt;
Edit the server.conf file.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/graylog/server/server.conf&lt;br /&gt;
Configure the following variables in the above file.&lt;br /&gt;
&lt;br /&gt;
Set a secret to secure the user passwords, use the following command to generate a secret, use at least 64 character’s.&lt;br /&gt;
&lt;br /&gt;
 $ pwgen -N 1 -s 96&lt;br /&gt;
&lt;br /&gt;
 OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
If you get a “pwgen: command not found“, use the following command to install pwgen.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install pwgen&lt;br /&gt;
&lt;br /&gt;
Place the secret.&lt;br /&gt;
&lt;br /&gt;
 password_secret = OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
Next is to set a hash password for the root user (not to be confused with system user, root user of graylog is admin). You will use this password for login into the web interface, admin’s password can not be changed using web interface, must edit this variable to set.&lt;br /&gt;
&lt;br /&gt;
Replace “yourpassword” with the choice of your’s.&lt;br /&gt;
&lt;br /&gt;
 # echo -n yourpassword | sha256sum&lt;br /&gt;
&lt;br /&gt;
 e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
&lt;br /&gt;
Place the hash password.&lt;br /&gt;
&lt;br /&gt;
 root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
You can setup email address root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_email = &amp;quot;cyber.web@gmail.com&amp;quot;&lt;br /&gt;
Set timezone of root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_timezone = UTC&lt;br /&gt;
&lt;br /&gt;
Graylog will try to find the Elasticsearch nodes automatically, it uses multicast mode for the same. But when it comes to larger network, it is recommended to use unicast mode which is best suited one for production setups. So add the following two entries to graylog server.conf file, replace ipaddress with live hostname or ipaddress. Multiple hosts can be added with comma separated.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_http_enabled = false&lt;br /&gt;
 elasticsearch_discovery_zen_ping_unicast_hosts = ipaddress:9300&lt;br /&gt;
&lt;br /&gt;
Set only one master node by defining the below variable, default setting is true, you must set it as a false to make the particular node as a slave. Master node performs some periodic tasks that slave won’t perform.&lt;br /&gt;
&lt;br /&gt;
 is_master = true&lt;br /&gt;
&lt;br /&gt;
The following variable sets the number of log messages to keep per index, it is recommended to have several smaller indices instead of larger ones.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_docs_per_index = 20000000&lt;br /&gt;
The following parameter defines to have total number of indices, if the this number is reached old index will be deleted.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_number_of_indices = 20&lt;br /&gt;
Shards setting is really depends on the number of nodes in the Elasticsearch cluster, if you have only one node, set it as 1.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_shards = 1&lt;br /&gt;
The number of replicas for your indices, if you have only one node in Elasticsearch cluster; set it as 0.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_replicas = 0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Restart Graylog service.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 $ sudo service graylog-server restart&lt;br /&gt;
Enable auto start of graylog server service during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d graylog-server defaults&lt;br /&gt;
You can check out the server startup logs, it will be useful for you to troubleshoot graylog in case of any issue.&lt;br /&gt;
&lt;br /&gt;
 # tailf /var/log/graylog-server/server.log&lt;br /&gt;
On successful start of graylog-server, you should get the following message in the log file.&lt;br /&gt;
&lt;br /&gt;
 2015-09-17T09:35:22.895+02:00 INFO  [ServerBootstrap] Graylog server up and running.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Graylog web interface:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To configure graylog-web-interface, you must have at least one graylog-server node. Install Graylog web interface using “apt-get”.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install graylog-web&lt;br /&gt;
Edit the configuration file and set the following parameters.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/graylog/web/web.conf&lt;br /&gt;
This is the list of graylog-server nodes, you can add multiple nodes, separate by commas.&lt;br /&gt;
&lt;br /&gt;
 graylog2-server.uris=&amp;quot;http://127.0.0.1:12900/&amp;quot;&lt;br /&gt;
Set the application scret and can be generated using pwgen -N 1 -s 96.&lt;br /&gt;
&lt;br /&gt;
 application.secret=&amp;quot;sNXyFf6B4Au3GqSlZwq7En86xp10JimdxxYiLtpptOejX6tIUpUE4DGRJOrcMj07wcK0wugPaapvzEzCYinEWj7BOtHXVl5Z&amp;quot;&lt;br /&gt;
Set Web interface timezone.&lt;br /&gt;
&lt;br /&gt;
 Timezone=&amp;quot;Europe/Tallinn&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Restart the gralog-web-interface using following command,&lt;br /&gt;
&lt;br /&gt;
 $ sudo service graylog-web restart&lt;br /&gt;
Enable auto start of web interface service during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d graylog-web defaults&lt;br /&gt;
&lt;br /&gt;
= Experiences =&lt;br /&gt;
&lt;br /&gt;
In during installation time, we have found some problems which will impact on our your installation as well.&lt;br /&gt;
&lt;br /&gt;
- The version of Ubuntu and Graylog might conflict each other as well as Graylog&#039;s packages ( e.g : java )&lt;br /&gt;
&lt;br /&gt;
= Summary =&lt;br /&gt;
&lt;br /&gt;
During the installation Graylogs in both versions of Ubuntu ( 14.04 and 16.0 ). We realized that it had many differences between these versions. Listed above our objectives what we expect to achieve after installing and using Graylog, along with its useful information and its interaction between Administrator (users) with Graylog.&lt;br /&gt;
&lt;br /&gt;
its advantages:&lt;br /&gt;
 + Free.&lt;br /&gt;
 + Easy to interact with web interface.&lt;br /&gt;
 + Easy to install with the good support from its sources.&lt;br /&gt;
 + Help Administrator (user) to collect information in during logging and monitoring straightforwardly.&lt;br /&gt;
 + Many useful tools ( plugins ) which supports to work on.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;http://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/how-to-install-graylog2-on-ubuntu-14-04.html&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=111069</id>
		<title>Logging - Monitoring C21</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=111069"/>
		<updated>2016-10-20T07:47:03Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* Prerequisites */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Logging and Monitoring with Graylog&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Course: Logging and Monitoring - Lecturer: Margus Ernits&lt;br /&gt;
&lt;br /&gt;
Group: Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Team members: Ender Phan, Kustas Kurval, Sheela Gowry Sumathi Raju, Artur Vincent Kerge&lt;br /&gt;
&lt;br /&gt;
Page created on: October 05, 2016&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In order to understand how to set up the Graylog service as well as understand its crucial roles. We decided to choose Graylog as our application for logging and monitoring. Below are our objectives which would be expected to achieve later on:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to install Graylog on Ubuntu 14.04.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to use Graylog to protect servers.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Upgrading and configuring Graylog at first, and know how to secure Graylog.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Threats and security during logging.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Installation Guide =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ubuntu 14.04&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Graylog_simple_setup_v2.png]]&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
Since the Elasticsearch is based on java, we would require to install either openJDK or Oracle JDK. It is recommended to install Oracle JDK, verify the java version by using the following command.&lt;br /&gt;
&lt;br /&gt;
Remove the OpenJDK from the system, if you have it already installed. From now on it is presumed that user has root privileges.&lt;br /&gt;
&lt;br /&gt;
 apt-get remove --purge openjdk*&lt;br /&gt;
Add repository.&lt;br /&gt;
&lt;br /&gt;
 add-apt-repository -y ppa:webupd8team/java&lt;br /&gt;
Run the following command to pull the packages information from the newly added repository.&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
Issue the following command to install Java jdk 1.8.&lt;br /&gt;
&lt;br /&gt;
 apt-get -y install oracle-java8-installer&lt;br /&gt;
&lt;br /&gt;
 java -version&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
&lt;br /&gt;
 Java version &amp;quot;1.8.0_60&amp;quot;&lt;br /&gt;
 Java(TM) SE Runtime Environment (build 1.8.0_60-b27)&lt;br /&gt;
 Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)&lt;br /&gt;
&lt;br /&gt;
== Installing extras ==&lt;br /&gt;
&lt;br /&gt;
=== Elasticsearch ===&lt;br /&gt;
&lt;br /&gt;
Let’s install Elasticsearch, it can be downloaded from the official website.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Download and install GPG signing key&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
Note that the -qO argument is lowercase Quebec followed by capital Oscar.&lt;br /&gt;
&lt;br /&gt;
Save the repository definition to /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;deb http://packages.elastic.co/elasticsearch/2.x/debian stable main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
Update repository cache and install Elasticsearch&lt;br /&gt;
&lt;br /&gt;
 apt-get update &amp;amp;&amp;amp; apt-get install elasticsearch&lt;br /&gt;
&lt;br /&gt;
Configure Elasticsearch to start during system startup.&lt;br /&gt;
&lt;br /&gt;
 update-rc.d elasticsearch defaults&lt;br /&gt;
The only important thing is to set a cluster name as “graylog2“, that is being used by graylog. Now edit the configuration file of Elasticsearch.&lt;br /&gt;
&lt;br /&gt;
 nano /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
&lt;br /&gt;
 cluster.name: graylog2&lt;br /&gt;
&lt;br /&gt;
In the same file disable dynamic scripts to avoid remote execution. That can be done by adding the following line:&lt;br /&gt;
&lt;br /&gt;
THIS GOES INTO GRAYLOG CONF!&lt;br /&gt;
&lt;br /&gt;
 script.disable_dynamic: true&lt;br /&gt;
&lt;br /&gt;
Once it is done, we are good to go. Before that, restart the Elasticsearch services to load the modified configuration.&lt;br /&gt;
&lt;br /&gt;
 service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
Wait at least a minute to let the Elasticsearch get fully restarted, otherwise testing will fail. Elastisearch should be now listen on 9200 for processing HTTP request, we can use CURL to get the response. Ensure that it returns with cluster name as “graylog2”&lt;br /&gt;
&lt;br /&gt;
 curl -X GET http://localhost:9200&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;status&amp;quot; : 200,&lt;br /&gt;
   &amp;quot;name&amp;quot; : &amp;quot;Pistol&amp;quot;,&lt;br /&gt;
   &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
   &amp;quot;version&amp;quot; : {&lt;br /&gt;
    &amp;quot;number&amp;quot; : &amp;quot;1.7.1&amp;quot;,&lt;br /&gt;
    &amp;quot;build_hash&amp;quot; : &amp;quot;b88f43fc40b0bcd7f173a1f9ee2e97816de80b19&amp;quot;,&lt;br /&gt;
    &amp;quot;build_timestamp&amp;quot; : &amp;quot;2015-07-29T09:54:16Z&amp;quot;,&lt;br /&gt;
    &amp;quot;build_snapshot&amp;quot; : false,&lt;br /&gt;
    &amp;quot;lucene_version&amp;quot; : &amp;quot;4.10.4&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;tagline&amp;quot; : &amp;quot;You Know, for Search&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Optional: Use the following command to check the Elasticsearch cluster health, you must get a cluster status as “green” for graylog to work.&lt;br /&gt;
&lt;br /&gt;
 curl -XGET &#039;http://localhost:9200/_cluster/health?pretty=true&#039;&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;status&amp;quot; : &amp;quot;&#039;&#039;&#039;green&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;timed_out&amp;quot; : false,&lt;br /&gt;
  &amp;quot;number_of_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;number_of_data_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;active_primary_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;active_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;relocating_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;initializing_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;delayed_unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_pending_tasks&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_in_flight_fetch&amp;quot; : 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== MongoDB ===&lt;br /&gt;
&lt;br /&gt;
MongoDB is available in dep format and same can be downloaded from the official website. Add the following repository information on the system to install MongoDB. Before that we must import public key.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10&lt;br /&gt;
Add repository by creating the /etc/apt/sources.list.d/mongodb-org-3.0.list list file using the command.&lt;br /&gt;
&lt;br /&gt;
 $ echo &amp;quot;deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse&amp;quot; | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list&lt;br /&gt;
Update repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Install MongoDB using the following command.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install mongodb-org&lt;br /&gt;
Start the MongoDB service and enable it to start automatically during the system start-up.&lt;br /&gt;
&lt;br /&gt;
 $ sudo service mongod start&lt;br /&gt;
&lt;br /&gt;
 $ sudo ls -s /usr/bin/mongod /etc/init.d/mongod&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d mongod defaults&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Graylog2 ===&lt;br /&gt;
&lt;br /&gt;
Graylog-server accepts and process the log messages, also spawns the RESTAPI for the requests that comes from graylog-web-interface. Download the latest version of graylog from graylog.org,&lt;br /&gt;
&lt;br /&gt;
Use the following command to install graylog2 repository.&lt;br /&gt;
&lt;br /&gt;
 $ wget https://packages.graylog2.org/repo/packages/graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
&lt;br /&gt;
 $ sudo dpkg -i graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
Install https suppport and update the repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install apt-transport-https&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Install Graylog server using following command.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install graylog-server &lt;br /&gt;
Edit the server.conf file.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/graylog/server/server.conf&lt;br /&gt;
Configure the following variables in the above file.&lt;br /&gt;
&lt;br /&gt;
Set a secret to secure the user passwords, use the following command to generate a secret, use at least 64 character’s.&lt;br /&gt;
&lt;br /&gt;
 $ pwgen -N 1 -s 96&lt;br /&gt;
&lt;br /&gt;
 OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
If you get a “pwgen: command not found“, use the following command to install pwgen.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install pwgen&lt;br /&gt;
&lt;br /&gt;
Place the secret.&lt;br /&gt;
&lt;br /&gt;
 password_secret = OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
Next is to set a hash password for the root user (not to be confused with system user, root user of graylog is admin). You will use this password for login into the web interface, admin’s password can not be changed using web interface, must edit this variable to set.&lt;br /&gt;
&lt;br /&gt;
Replace “yourpassword” with the choice of your’s.&lt;br /&gt;
&lt;br /&gt;
 # echo -n yourpassword | sha256sum&lt;br /&gt;
&lt;br /&gt;
 e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
&lt;br /&gt;
Place the hash password.&lt;br /&gt;
&lt;br /&gt;
 root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
You can setup email address root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_email = &amp;quot;cyber.web@gmail.com&amp;quot;&lt;br /&gt;
Set timezone of root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_timezone = UTC&lt;br /&gt;
&lt;br /&gt;
Graylog will try to find the Elasticsearch nodes automatically, it uses multicast mode for the same. But when it comes to larger network, it is recommended to use unicast mode which is best suited one for production setups. So add the following two entries to graylog server.conf file, replace ipaddress with live hostname or ipaddress. Multiple hosts can be added with comma separated.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_http_enabled = false&lt;br /&gt;
 elasticsearch_discovery_zen_ping_unicast_hosts = ipaddress:9300&lt;br /&gt;
&lt;br /&gt;
Set only one master node by defining the below variable, default setting is true, you must set it as a false to make the particular node as a slave. Master node performs some periodic tasks that slave won’t perform.&lt;br /&gt;
&lt;br /&gt;
 is_master = true&lt;br /&gt;
&lt;br /&gt;
The following variable sets the number of log messages to keep per index, it is recommended to have several smaller indices instead of larger ones.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_docs_per_index = 20000000&lt;br /&gt;
The following parameter defines to have total number of indices, if the this number is reached old index will be deleted.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_number_of_indices = 20&lt;br /&gt;
Shards setting is really depends on the number of nodes in the Elasticsearch cluster, if you have only one node, set it as 1.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_shards = 1&lt;br /&gt;
The number of replicas for your indices, if you have only one node in Elasticsearch cluster; set it as 0.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_replicas = 0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Restart Graylog service.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 $ sudo service graylog-server restart&lt;br /&gt;
Enable auto start of graylog server service during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d graylog-server defaults&lt;br /&gt;
You can check out the server startup logs, it will be useful for you to troubleshoot graylog in case of any issue.&lt;br /&gt;
&lt;br /&gt;
 # tailf /var/log/graylog-server/server.log&lt;br /&gt;
On successful start of graylog-server, you should get the following message in the log file.&lt;br /&gt;
&lt;br /&gt;
 2015-09-17T09:35:22.895+02:00 INFO  [ServerBootstrap] Graylog server up and running.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Graylog web interface:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To configure graylog-web-interface, you must have at least one graylog-server node. Install Graylog web interface using “apt-get”.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install graylog-web&lt;br /&gt;
Edit the configuration file and set the following parameters.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/graylog/web/web.conf&lt;br /&gt;
This is the list of graylog-server nodes, you can add multiple nodes, separate by commas.&lt;br /&gt;
&lt;br /&gt;
 graylog2-server.uris=&amp;quot;http://127.0.0.1:12900/&amp;quot;&lt;br /&gt;
Set the application scret and can be generated using pwgen -N 1 -s 96.&lt;br /&gt;
&lt;br /&gt;
 application.secret=&amp;quot;sNXyFf6B4Au3GqSlZwq7En86xp10JimdxxYiLtpptOejX6tIUpUE4DGRJOrcMj07wcK0wugPaapvzEzCYinEWj7BOtHXVl5Z&amp;quot;&lt;br /&gt;
Set Web interface timezone.&lt;br /&gt;
&lt;br /&gt;
 Timezone=&amp;quot;Europe/Tallinn&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Restart the gralog-web-interface using following command,&lt;br /&gt;
&lt;br /&gt;
 $ sudo service graylog-web restart&lt;br /&gt;
Enable auto start of web interface service during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d graylog-web defaults&lt;br /&gt;
&lt;br /&gt;
= Experiences =&lt;br /&gt;
&lt;br /&gt;
In during installation time, we have found some problems which will impact on our your installation as well.&lt;br /&gt;
&lt;br /&gt;
- The version of Ubuntu and Graylog might conflict each other as well as Graylog&#039;s packages ( e.g : java )&lt;br /&gt;
&lt;br /&gt;
= Summary =&lt;br /&gt;
&lt;br /&gt;
During the installation Graylogs in both versions of Ubuntu ( 14.04 and 16.0 ). We realized that it had many differences between these versions. Listed above our objectives what we expect to achieve after installing and using Graylog, along with its useful information and its interaction between Administrator (users) with Graylog.&lt;br /&gt;
&lt;br /&gt;
its advantages:&lt;br /&gt;
 + Free.&lt;br /&gt;
 + Easy to interact with web interface.&lt;br /&gt;
 + Easy to install with the good support from its sources.&lt;br /&gt;
 + Help Administrator (user) to collect information in during logging and monitoring straightforwardly.&lt;br /&gt;
 + Many useful tools ( plugins ) which supports to work on.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;http://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/how-to-install-graylog2-on-ubuntu-14-04.html&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=111068</id>
		<title>Logging - Monitoring C21</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=111068"/>
		<updated>2016-10-20T07:46:43Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* Elasticsearch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Logging and Monitoring with Graylog&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Course: Logging and Monitoring - Lecturer: Margus Ernits&lt;br /&gt;
&lt;br /&gt;
Group: Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Team members: Ender Phan, Kustas Kurval, Sheela Gowry Sumathi Raju, Artur Vincent Kerge&lt;br /&gt;
&lt;br /&gt;
Page created on: October 05, 2016&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In order to understand how to set up the Graylog service as well as understand its crucial roles. We decided to choose Graylog as our application for logging and monitoring. Below are our objectives which would be expected to achieve later on:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to install Graylog on Ubuntu 14.04.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to use Graylog to protect servers.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Upgrading and configuring Graylog at first, and know how to secure Graylog.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Threats and security during logging.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Installation Guide =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ubuntu 14.04&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Graylog_simple_setup_v2.png]]&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
Since the Elasticsearch is based on java, we would require to install either openJDK or Oracle JDK. It is recommended to install Oracle JDK, verify the java version by using the following command.&lt;br /&gt;
&lt;br /&gt;
Remove the OpenJDK from the system, if you have it already installed. From now on it is presumed that user has root privileges.&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get remove --purge openjdk*&lt;br /&gt;
Add repository.&lt;br /&gt;
&lt;br /&gt;
 sudo add-apt-repository -y ppa:webupd8team/java&lt;br /&gt;
Run the following command to pull the packages information from the newly added repository.&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
Issue the following command to install Java jdk 1.8.&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get -y install oracle-java8-installer&lt;br /&gt;
&lt;br /&gt;
 java -version&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
&lt;br /&gt;
 Java version &amp;quot;1.8.0_60&amp;quot;&lt;br /&gt;
 Java(TM) SE Runtime Environment (build 1.8.0_60-b27)&lt;br /&gt;
 Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)&lt;br /&gt;
&lt;br /&gt;
== Installing extras ==&lt;br /&gt;
&lt;br /&gt;
=== Elasticsearch ===&lt;br /&gt;
&lt;br /&gt;
Let’s install Elasticsearch, it can be downloaded from the official website.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Download and install GPG signing key&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
Note that the -qO argument is lowercase Quebec followed by capital Oscar.&lt;br /&gt;
&lt;br /&gt;
Save the repository definition to /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;deb http://packages.elastic.co/elasticsearch/2.x/debian stable main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
Update repository cache and install Elasticsearch&lt;br /&gt;
&lt;br /&gt;
 apt-get update &amp;amp;&amp;amp; apt-get install elasticsearch&lt;br /&gt;
&lt;br /&gt;
Configure Elasticsearch to start during system startup.&lt;br /&gt;
&lt;br /&gt;
 update-rc.d elasticsearch defaults&lt;br /&gt;
The only important thing is to set a cluster name as “graylog2“, that is being used by graylog. Now edit the configuration file of Elasticsearch.&lt;br /&gt;
&lt;br /&gt;
 nano /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
&lt;br /&gt;
 cluster.name: graylog2&lt;br /&gt;
&lt;br /&gt;
In the same file disable dynamic scripts to avoid remote execution. That can be done by adding the following line:&lt;br /&gt;
&lt;br /&gt;
THIS GOES INTO GRAYLOG CONF!&lt;br /&gt;
&lt;br /&gt;
 script.disable_dynamic: true&lt;br /&gt;
&lt;br /&gt;
Once it is done, we are good to go. Before that, restart the Elasticsearch services to load the modified configuration.&lt;br /&gt;
&lt;br /&gt;
 service elasticsearch restart&lt;br /&gt;
&lt;br /&gt;
Wait at least a minute to let the Elasticsearch get fully restarted, otherwise testing will fail. Elastisearch should be now listen on 9200 for processing HTTP request, we can use CURL to get the response. Ensure that it returns with cluster name as “graylog2”&lt;br /&gt;
&lt;br /&gt;
 curl -X GET http://localhost:9200&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;status&amp;quot; : 200,&lt;br /&gt;
   &amp;quot;name&amp;quot; : &amp;quot;Pistol&amp;quot;,&lt;br /&gt;
   &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
   &amp;quot;version&amp;quot; : {&lt;br /&gt;
    &amp;quot;number&amp;quot; : &amp;quot;1.7.1&amp;quot;,&lt;br /&gt;
    &amp;quot;build_hash&amp;quot; : &amp;quot;b88f43fc40b0bcd7f173a1f9ee2e97816de80b19&amp;quot;,&lt;br /&gt;
    &amp;quot;build_timestamp&amp;quot; : &amp;quot;2015-07-29T09:54:16Z&amp;quot;,&lt;br /&gt;
    &amp;quot;build_snapshot&amp;quot; : false,&lt;br /&gt;
    &amp;quot;lucene_version&amp;quot; : &amp;quot;4.10.4&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;tagline&amp;quot; : &amp;quot;You Know, for Search&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Optional: Use the following command to check the Elasticsearch cluster health, you must get a cluster status as “green” for graylog to work.&lt;br /&gt;
&lt;br /&gt;
 curl -XGET &#039;http://localhost:9200/_cluster/health?pretty=true&#039;&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;status&amp;quot; : &amp;quot;&#039;&#039;&#039;green&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;timed_out&amp;quot; : false,&lt;br /&gt;
  &amp;quot;number_of_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;number_of_data_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;active_primary_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;active_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;relocating_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;initializing_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;delayed_unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_pending_tasks&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_in_flight_fetch&amp;quot; : 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== MongoDB ===&lt;br /&gt;
&lt;br /&gt;
MongoDB is available in dep format and same can be downloaded from the official website. Add the following repository information on the system to install MongoDB. Before that we must import public key.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10&lt;br /&gt;
Add repository by creating the /etc/apt/sources.list.d/mongodb-org-3.0.list list file using the command.&lt;br /&gt;
&lt;br /&gt;
 $ echo &amp;quot;deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse&amp;quot; | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list&lt;br /&gt;
Update repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Install MongoDB using the following command.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install mongodb-org&lt;br /&gt;
Start the MongoDB service and enable it to start automatically during the system start-up.&lt;br /&gt;
&lt;br /&gt;
 $ sudo service mongod start&lt;br /&gt;
&lt;br /&gt;
 $ sudo ls -s /usr/bin/mongod /etc/init.d/mongod&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d mongod defaults&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Graylog2 ===&lt;br /&gt;
&lt;br /&gt;
Graylog-server accepts and process the log messages, also spawns the RESTAPI for the requests that comes from graylog-web-interface. Download the latest version of graylog from graylog.org,&lt;br /&gt;
&lt;br /&gt;
Use the following command to install graylog2 repository.&lt;br /&gt;
&lt;br /&gt;
 $ wget https://packages.graylog2.org/repo/packages/graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
&lt;br /&gt;
 $ sudo dpkg -i graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
Install https suppport and update the repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install apt-transport-https&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Install Graylog server using following command.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install graylog-server &lt;br /&gt;
Edit the server.conf file.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/graylog/server/server.conf&lt;br /&gt;
Configure the following variables in the above file.&lt;br /&gt;
&lt;br /&gt;
Set a secret to secure the user passwords, use the following command to generate a secret, use at least 64 character’s.&lt;br /&gt;
&lt;br /&gt;
 $ pwgen -N 1 -s 96&lt;br /&gt;
&lt;br /&gt;
 OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
If you get a “pwgen: command not found“, use the following command to install pwgen.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install pwgen&lt;br /&gt;
&lt;br /&gt;
Place the secret.&lt;br /&gt;
&lt;br /&gt;
 password_secret = OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
Next is to set a hash password for the root user (not to be confused with system user, root user of graylog is admin). You will use this password for login into the web interface, admin’s password can not be changed using web interface, must edit this variable to set.&lt;br /&gt;
&lt;br /&gt;
Replace “yourpassword” with the choice of your’s.&lt;br /&gt;
&lt;br /&gt;
 # echo -n yourpassword | sha256sum&lt;br /&gt;
&lt;br /&gt;
 e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
&lt;br /&gt;
Place the hash password.&lt;br /&gt;
&lt;br /&gt;
 root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
You can setup email address root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_email = &amp;quot;cyber.web@gmail.com&amp;quot;&lt;br /&gt;
Set timezone of root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_timezone = UTC&lt;br /&gt;
&lt;br /&gt;
Graylog will try to find the Elasticsearch nodes automatically, it uses multicast mode for the same. But when it comes to larger network, it is recommended to use unicast mode which is best suited one for production setups. So add the following two entries to graylog server.conf file, replace ipaddress with live hostname or ipaddress. Multiple hosts can be added with comma separated.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_http_enabled = false&lt;br /&gt;
 elasticsearch_discovery_zen_ping_unicast_hosts = ipaddress:9300&lt;br /&gt;
&lt;br /&gt;
Set only one master node by defining the below variable, default setting is true, you must set it as a false to make the particular node as a slave. Master node performs some periodic tasks that slave won’t perform.&lt;br /&gt;
&lt;br /&gt;
 is_master = true&lt;br /&gt;
&lt;br /&gt;
The following variable sets the number of log messages to keep per index, it is recommended to have several smaller indices instead of larger ones.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_docs_per_index = 20000000&lt;br /&gt;
The following parameter defines to have total number of indices, if the this number is reached old index will be deleted.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_number_of_indices = 20&lt;br /&gt;
Shards setting is really depends on the number of nodes in the Elasticsearch cluster, if you have only one node, set it as 1.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_shards = 1&lt;br /&gt;
The number of replicas for your indices, if you have only one node in Elasticsearch cluster; set it as 0.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_replicas = 0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Restart Graylog service.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 $ sudo service graylog-server restart&lt;br /&gt;
Enable auto start of graylog server service during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d graylog-server defaults&lt;br /&gt;
You can check out the server startup logs, it will be useful for you to troubleshoot graylog in case of any issue.&lt;br /&gt;
&lt;br /&gt;
 # tailf /var/log/graylog-server/server.log&lt;br /&gt;
On successful start of graylog-server, you should get the following message in the log file.&lt;br /&gt;
&lt;br /&gt;
 2015-09-17T09:35:22.895+02:00 INFO  [ServerBootstrap] Graylog server up and running.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Graylog web interface:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To configure graylog-web-interface, you must have at least one graylog-server node. Install Graylog web interface using “apt-get”.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install graylog-web&lt;br /&gt;
Edit the configuration file and set the following parameters.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/graylog/web/web.conf&lt;br /&gt;
This is the list of graylog-server nodes, you can add multiple nodes, separate by commas.&lt;br /&gt;
&lt;br /&gt;
 graylog2-server.uris=&amp;quot;http://127.0.0.1:12900/&amp;quot;&lt;br /&gt;
Set the application scret and can be generated using pwgen -N 1 -s 96.&lt;br /&gt;
&lt;br /&gt;
 application.secret=&amp;quot;sNXyFf6B4Au3GqSlZwq7En86xp10JimdxxYiLtpptOejX6tIUpUE4DGRJOrcMj07wcK0wugPaapvzEzCYinEWj7BOtHXVl5Z&amp;quot;&lt;br /&gt;
Set Web interface timezone.&lt;br /&gt;
&lt;br /&gt;
 Timezone=&amp;quot;Europe/Tallinn&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Restart the gralog-web-interface using following command,&lt;br /&gt;
&lt;br /&gt;
 $ sudo service graylog-web restart&lt;br /&gt;
Enable auto start of web interface service during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d graylog-web defaults&lt;br /&gt;
&lt;br /&gt;
= Experiences =&lt;br /&gt;
&lt;br /&gt;
In during installation time, we have found some problems which will impact on our your installation as well.&lt;br /&gt;
&lt;br /&gt;
- The version of Ubuntu and Graylog might conflict each other as well as Graylog&#039;s packages ( e.g : java )&lt;br /&gt;
&lt;br /&gt;
= Summary =&lt;br /&gt;
&lt;br /&gt;
During the installation Graylogs in both versions of Ubuntu ( 14.04 and 16.0 ). We realized that it had many differences between these versions. Listed above our objectives what we expect to achieve after installing and using Graylog, along with its useful information and its interaction between Administrator (users) with Graylog.&lt;br /&gt;
&lt;br /&gt;
its advantages:&lt;br /&gt;
 + Free.&lt;br /&gt;
 + Easy to interact with web interface.&lt;br /&gt;
 + Easy to install with the good support from its sources.&lt;br /&gt;
 + Help Administrator (user) to collect information in during logging and monitoring straightforwardly.&lt;br /&gt;
 + Many useful tools ( plugins ) which supports to work on.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;http://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/how-to-install-graylog2-on-ubuntu-14-04.html&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=111067</id>
		<title>Logging - Monitoring C21</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=111067"/>
		<updated>2016-10-20T07:45:47Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* Prerequisites */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Logging and Monitoring with Graylog&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Course: Logging and Monitoring - Lecturer: Margus Ernits&lt;br /&gt;
&lt;br /&gt;
Group: Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Team members: Ender Phan, Kustas Kurval, Sheela Gowry Sumathi Raju, Artur Vincent Kerge&lt;br /&gt;
&lt;br /&gt;
Page created on: October 05, 2016&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In order to understand how to set up the Graylog service as well as understand its crucial roles. We decided to choose Graylog as our application for logging and monitoring. Below are our objectives which would be expected to achieve later on:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to install Graylog on Ubuntu 14.04.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to use Graylog to protect servers.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Upgrading and configuring Graylog at first, and know how to secure Graylog.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Threats and security during logging.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Installation Guide =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ubuntu 14.04&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Graylog_simple_setup_v2.png]]&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
Since the Elasticsearch is based on java, we would require to install either openJDK or Oracle JDK. It is recommended to install Oracle JDK, verify the java version by using the following command.&lt;br /&gt;
&lt;br /&gt;
Remove the OpenJDK from the system, if you have it already installed. From now on it is presumed that user has root privileges.&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get remove --purge openjdk*&lt;br /&gt;
Add repository.&lt;br /&gt;
&lt;br /&gt;
 sudo add-apt-repository -y ppa:webupd8team/java&lt;br /&gt;
Run the following command to pull the packages information from the newly added repository.&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
Issue the following command to install Java jdk 1.8.&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get -y install oracle-java8-installer&lt;br /&gt;
&lt;br /&gt;
 java -version&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
&lt;br /&gt;
 Java version &amp;quot;1.8.0_60&amp;quot;&lt;br /&gt;
 Java(TM) SE Runtime Environment (build 1.8.0_60-b27)&lt;br /&gt;
 Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)&lt;br /&gt;
&lt;br /&gt;
== Installing extras ==&lt;br /&gt;
&lt;br /&gt;
=== Elasticsearch ===&lt;br /&gt;
&lt;br /&gt;
Let’s install Elasticsearch, it can be downloaded from the official website.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Download and install GPG signing key&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 $ sudo wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
Note that the -qO argument is lowercase Quebec followed by capital Oscar.&lt;br /&gt;
&lt;br /&gt;
Save the repository definition to /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
 $ echo &amp;quot;deb http://packages.elastic.co/elasticsearch/2.x/debian stable main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
Update repository cache and install Elasticsearch&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update &amp;amp;&amp;amp; apt-get install elasticsearch&lt;br /&gt;
&lt;br /&gt;
Configure Elasticsearch to start during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d elasticsearch defaults&lt;br /&gt;
The only important thing is to set a cluster name as “graylog2“, that is being used by graylog. Now edit the configuration file of Elasticsearch.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
&lt;br /&gt;
 cluster.name: graylog2&lt;br /&gt;
&lt;br /&gt;
In the same file disable dynamic scripts to avoid remote execution. That can be done by adding the following line:&lt;br /&gt;
&lt;br /&gt;
THIS GOES INTO GRAYLOG CONF!&lt;br /&gt;
&lt;br /&gt;
 script.disable_dynamic: true&lt;br /&gt;
&lt;br /&gt;
Once it is done, we are good to go. Before that, restart the Elasticsearch services to load the modified configuration.&lt;br /&gt;
&lt;br /&gt;
 $ sudo service elasticsearch restart&lt;br /&gt;
Wait at least a minute to let the Elasticsearch get fully restarted, otherwise testing will fail. Elastisearch should be now listen on 9200 for processing HTTP request, we can use CURL to get the response. Ensure that it returns with cluster name as “graylog2”&lt;br /&gt;
&lt;br /&gt;
 $ curl -X GET http://localhost:9200&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;status&amp;quot; : 200,&lt;br /&gt;
   &amp;quot;name&amp;quot; : &amp;quot;Pistol&amp;quot;,&lt;br /&gt;
   &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
   &amp;quot;version&amp;quot; : {&lt;br /&gt;
    &amp;quot;number&amp;quot; : &amp;quot;1.7.1&amp;quot;,&lt;br /&gt;
    &amp;quot;build_hash&amp;quot; : &amp;quot;b88f43fc40b0bcd7f173a1f9ee2e97816de80b19&amp;quot;,&lt;br /&gt;
    &amp;quot;build_timestamp&amp;quot; : &amp;quot;2015-07-29T09:54:16Z&amp;quot;,&lt;br /&gt;
    &amp;quot;build_snapshot&amp;quot; : false,&lt;br /&gt;
    &amp;quot;lucene_version&amp;quot; : &amp;quot;4.10.4&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;tagline&amp;quot; : &amp;quot;You Know, for Search&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Optional: Use the following command to check the Elasticsearch cluster health, you must get a cluster status as “green” for graylog to work.&lt;br /&gt;
&lt;br /&gt;
 $ curl -XGET &#039;http://localhost:9200/_cluster/health?pretty=true&#039;&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;status&amp;quot; : &amp;quot;&#039;&#039;&#039;green&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;timed_out&amp;quot; : false,&lt;br /&gt;
  &amp;quot;number_of_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;number_of_data_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;active_primary_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;active_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;relocating_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;initializing_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;delayed_unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_pending_tasks&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_in_flight_fetch&amp;quot; : 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== MongoDB ===&lt;br /&gt;
&lt;br /&gt;
MongoDB is available in dep format and same can be downloaded from the official website. Add the following repository information on the system to install MongoDB. Before that we must import public key.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10&lt;br /&gt;
Add repository by creating the /etc/apt/sources.list.d/mongodb-org-3.0.list list file using the command.&lt;br /&gt;
&lt;br /&gt;
 $ echo &amp;quot;deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse&amp;quot; | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list&lt;br /&gt;
Update repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Install MongoDB using the following command.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install mongodb-org&lt;br /&gt;
Start the MongoDB service and enable it to start automatically during the system start-up.&lt;br /&gt;
&lt;br /&gt;
 $ sudo service mongod start&lt;br /&gt;
&lt;br /&gt;
 $ sudo ls -s /usr/bin/mongod /etc/init.d/mongod&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d mongod defaults&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Graylog2 ===&lt;br /&gt;
&lt;br /&gt;
Graylog-server accepts and process the log messages, also spawns the RESTAPI for the requests that comes from graylog-web-interface. Download the latest version of graylog from graylog.org,&lt;br /&gt;
&lt;br /&gt;
Use the following command to install graylog2 repository.&lt;br /&gt;
&lt;br /&gt;
 $ wget https://packages.graylog2.org/repo/packages/graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
&lt;br /&gt;
 $ sudo dpkg -i graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
Install https suppport and update the repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install apt-transport-https&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Install Graylog server using following command.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install graylog-server &lt;br /&gt;
Edit the server.conf file.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/graylog/server/server.conf&lt;br /&gt;
Configure the following variables in the above file.&lt;br /&gt;
&lt;br /&gt;
Set a secret to secure the user passwords, use the following command to generate a secret, use at least 64 character’s.&lt;br /&gt;
&lt;br /&gt;
 $ pwgen -N 1 -s 96&lt;br /&gt;
&lt;br /&gt;
 OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
If you get a “pwgen: command not found“, use the following command to install pwgen.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install pwgen&lt;br /&gt;
&lt;br /&gt;
Place the secret.&lt;br /&gt;
&lt;br /&gt;
 password_secret = OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
Next is to set a hash password for the root user (not to be confused with system user, root user of graylog is admin). You will use this password for login into the web interface, admin’s password can not be changed using web interface, must edit this variable to set.&lt;br /&gt;
&lt;br /&gt;
Replace “yourpassword” with the choice of your’s.&lt;br /&gt;
&lt;br /&gt;
 # echo -n yourpassword | sha256sum&lt;br /&gt;
&lt;br /&gt;
 e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
&lt;br /&gt;
Place the hash password.&lt;br /&gt;
&lt;br /&gt;
 root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
You can setup email address root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_email = &amp;quot;cyber.web@gmail.com&amp;quot;&lt;br /&gt;
Set timezone of root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_timezone = UTC&lt;br /&gt;
&lt;br /&gt;
Graylog will try to find the Elasticsearch nodes automatically, it uses multicast mode for the same. But when it comes to larger network, it is recommended to use unicast mode which is best suited one for production setups. So add the following two entries to graylog server.conf file, replace ipaddress with live hostname or ipaddress. Multiple hosts can be added with comma separated.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_http_enabled = false&lt;br /&gt;
 elasticsearch_discovery_zen_ping_unicast_hosts = ipaddress:9300&lt;br /&gt;
&lt;br /&gt;
Set only one master node by defining the below variable, default setting is true, you must set it as a false to make the particular node as a slave. Master node performs some periodic tasks that slave won’t perform.&lt;br /&gt;
&lt;br /&gt;
 is_master = true&lt;br /&gt;
&lt;br /&gt;
The following variable sets the number of log messages to keep per index, it is recommended to have several smaller indices instead of larger ones.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_docs_per_index = 20000000&lt;br /&gt;
The following parameter defines to have total number of indices, if the this number is reached old index will be deleted.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_number_of_indices = 20&lt;br /&gt;
Shards setting is really depends on the number of nodes in the Elasticsearch cluster, if you have only one node, set it as 1.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_shards = 1&lt;br /&gt;
The number of replicas for your indices, if you have only one node in Elasticsearch cluster; set it as 0.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_replicas = 0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Restart Graylog service.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 $ sudo service graylog-server restart&lt;br /&gt;
Enable auto start of graylog server service during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d graylog-server defaults&lt;br /&gt;
You can check out the server startup logs, it will be useful for you to troubleshoot graylog in case of any issue.&lt;br /&gt;
&lt;br /&gt;
 # tailf /var/log/graylog-server/server.log&lt;br /&gt;
On successful start of graylog-server, you should get the following message in the log file.&lt;br /&gt;
&lt;br /&gt;
 2015-09-17T09:35:22.895+02:00 INFO  [ServerBootstrap] Graylog server up and running.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Graylog web interface:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To configure graylog-web-interface, you must have at least one graylog-server node. Install Graylog web interface using “apt-get”.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install graylog-web&lt;br /&gt;
Edit the configuration file and set the following parameters.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/graylog/web/web.conf&lt;br /&gt;
This is the list of graylog-server nodes, you can add multiple nodes, separate by commas.&lt;br /&gt;
&lt;br /&gt;
 graylog2-server.uris=&amp;quot;http://127.0.0.1:12900/&amp;quot;&lt;br /&gt;
Set the application scret and can be generated using pwgen -N 1 -s 96.&lt;br /&gt;
&lt;br /&gt;
 application.secret=&amp;quot;sNXyFf6B4Au3GqSlZwq7En86xp10JimdxxYiLtpptOejX6tIUpUE4DGRJOrcMj07wcK0wugPaapvzEzCYinEWj7BOtHXVl5Z&amp;quot;&lt;br /&gt;
Set Web interface timezone.&lt;br /&gt;
&lt;br /&gt;
 Timezone=&amp;quot;Europe/Tallinn&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Restart the gralog-web-interface using following command,&lt;br /&gt;
&lt;br /&gt;
 $ sudo service graylog-web restart&lt;br /&gt;
Enable auto start of web interface service during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d graylog-web defaults&lt;br /&gt;
&lt;br /&gt;
= Experiences =&lt;br /&gt;
&lt;br /&gt;
In during installation time, we have found some problems which will impact on our your installation as well.&lt;br /&gt;
&lt;br /&gt;
- The version of Ubuntu and Graylog might conflict each other as well as Graylog&#039;s packages ( e.g : java )&lt;br /&gt;
&lt;br /&gt;
= Summary =&lt;br /&gt;
&lt;br /&gt;
During the installation Graylogs in both versions of Ubuntu ( 14.04 and 16.0 ). We realized that it had many differences between these versions. Listed above our objectives what we expect to achieve after installing and using Graylog, along with its useful information and its interaction between Administrator (users) with Graylog.&lt;br /&gt;
&lt;br /&gt;
its advantages:&lt;br /&gt;
 + Free.&lt;br /&gt;
 + Easy to interact with web interface.&lt;br /&gt;
 + Easy to install with the good support from its sources.&lt;br /&gt;
 + Help Administrator (user) to collect information in during logging and monitoring straightforwardly.&lt;br /&gt;
 + Many useful tools ( plugins ) which supports to work on.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;http://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/how-to-install-graylog2-on-ubuntu-14-04.html&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=107009</id>
		<title>Logging - Monitoring C21</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=107009"/>
		<updated>2016-10-13T08:42:56Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* Elasticsearch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Logging and Monitoring with Graylog&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Course: Logging and Monitoring - Lecturer: Margus Ernits&lt;br /&gt;
&lt;br /&gt;
Group: Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Team members: Ender Phan, Kustas Kurval, Sheela Gowry Sumathi Raju, Artur Vincent Kerge&lt;br /&gt;
&lt;br /&gt;
Page created on: October 05, 2016&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In order to understand how to set up the Graylog service as well as understand its crucial roles. We decided to choose Graylog as our application for logging and monitoring. Below are our objectives which would be expected to achieve later on:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to install Graylog on Ubuntu 14.04.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to use Graylog to protect servers.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Upgrading and configuring Graylog at first, and know how to secure Graylog.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Threats and security during logging.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Installation Guide =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ubuntu 14.04&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Graylog_simple_setup_v2.png]]&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
Since the Elasticsearch is based on java, we would require to install either openJDK or Oracle JDK. It is recommended to install Oracle JDK, verify the java version by using the following command.&lt;br /&gt;
&lt;br /&gt;
Remove the OpenJDK from the system, if you have it already installed.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get remove --purge openjdk*&lt;br /&gt;
Add repository.&lt;br /&gt;
&lt;br /&gt;
 $ sudo add-apt-repository -y ppa:webupd8team/java&lt;br /&gt;
Run the following command to pull the packages information from the newly added repository.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Issue the following command to install Java jdk 1.8.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get -y install oracle-java8-installer&lt;br /&gt;
&lt;br /&gt;
 $ java -version&lt;br /&gt;
&lt;br /&gt;
 Java version &amp;quot;1.8.0_60&amp;quot;&lt;br /&gt;
 Java(TM) SE Runtime Environment (build 1.8.0_60-b27)&lt;br /&gt;
 Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)&lt;br /&gt;
&lt;br /&gt;
== Installing extras ==&lt;br /&gt;
&lt;br /&gt;
=== Elasticsearch ===&lt;br /&gt;
&lt;br /&gt;
Let’s install Elasticsearch, it can be downloaded from the official website.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Download and install GPG signing key&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 $ sudo wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
Note that the -qO argument is lowercase Quebec followed by capital Oscar.&lt;br /&gt;
&lt;br /&gt;
Save the repository definition to /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
 $ echo &amp;quot;deb http://packages.elastic.co/elasticsearch/2.x/debian stable main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
Update repository cache and install Elasticsearch&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update &amp;amp;&amp;amp; apt-get install elasticsearch&lt;br /&gt;
&lt;br /&gt;
Configure Elasticsearch to start during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d elasticsearch defaults&lt;br /&gt;
The only important thing is to set a cluster name as “graylog2“, that is being used by graylog. Now edit the configuration file of Elasticsearch.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
&lt;br /&gt;
 cluster.name: graylog2&lt;br /&gt;
&lt;br /&gt;
In the same file disable dynamic scripts to avoid remote execution. That can be done by adding the following line:&lt;br /&gt;
&lt;br /&gt;
THIS GOES INTO GRAYLOG CONF!&lt;br /&gt;
&lt;br /&gt;
 script.disable_dynamic: true&lt;br /&gt;
&lt;br /&gt;
Once it is done, we are good to go. Before that, restart the Elasticsearch services to load the modified configuration.&lt;br /&gt;
&lt;br /&gt;
 $ sudo service elasticsearch restart&lt;br /&gt;
Wait at least a minute to let the Elasticsearch get fully restarted, otherwise testing will fail. Elastisearch should be now listen on 9200 for processing HTTP request, we can use CURL to get the response. Ensure that it returns with cluster name as “graylog2”&lt;br /&gt;
&lt;br /&gt;
 $ curl -X GET http://localhost:9200&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;status&amp;quot; : 200,&lt;br /&gt;
   &amp;quot;name&amp;quot; : &amp;quot;Pistol&amp;quot;,&lt;br /&gt;
   &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
   &amp;quot;version&amp;quot; : {&lt;br /&gt;
    &amp;quot;number&amp;quot; : &amp;quot;1.7.1&amp;quot;,&lt;br /&gt;
    &amp;quot;build_hash&amp;quot; : &amp;quot;b88f43fc40b0bcd7f173a1f9ee2e97816de80b19&amp;quot;,&lt;br /&gt;
    &amp;quot;build_timestamp&amp;quot; : &amp;quot;2015-07-29T09:54:16Z&amp;quot;,&lt;br /&gt;
    &amp;quot;build_snapshot&amp;quot; : false,&lt;br /&gt;
    &amp;quot;lucene_version&amp;quot; : &amp;quot;4.10.4&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;tagline&amp;quot; : &amp;quot;You Know, for Search&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Optional: Use the following command to check the Elasticsearch cluster health, you must get a cluster status as “green” for graylog to work.&lt;br /&gt;
&lt;br /&gt;
 $ curl -XGET &#039;http://localhost:9200/_cluster/health?pretty=true&#039;&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;status&amp;quot; : &amp;quot;&#039;&#039;&#039;green&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;timed_out&amp;quot; : false,&lt;br /&gt;
  &amp;quot;number_of_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;number_of_data_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;active_primary_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;active_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;relocating_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;initializing_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;delayed_unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_pending_tasks&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_in_flight_fetch&amp;quot; : 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== MongoDB ===&lt;br /&gt;
&lt;br /&gt;
MongoDB is available in dep format and same can be downloaded from the official website. Add the following repository information on the system to install MongoDB. Before that we must import public key.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10&lt;br /&gt;
Add repository by creating the /etc/apt/sources.list.d/mongodb-org-3.0.list list file using the command.&lt;br /&gt;
&lt;br /&gt;
 $ echo &amp;quot;deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse&amp;quot; | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list&lt;br /&gt;
Update repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Install MongoDB using the following command.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install mongodb-org&lt;br /&gt;
Start the MongoDB service and enable it to start automatically during the system start-up.&lt;br /&gt;
&lt;br /&gt;
 $ sudo service mongod start&lt;br /&gt;
&lt;br /&gt;
 $ sudo ls -s /usr/bin/mongod /etc/init.d/mongod&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d mongod defaults&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Graylog2 ===&lt;br /&gt;
&lt;br /&gt;
Graylog-server accepts and process the log messages, also spawns the RESTAPI for the requests that comes from graylog-web-interface. Download the latest version of graylog from graylog.org,&lt;br /&gt;
&lt;br /&gt;
Use the following command to install graylog2 repository.&lt;br /&gt;
&lt;br /&gt;
 $ wget https://packages.graylog2.org/repo/packages/graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
&lt;br /&gt;
 $ sudo dpkg -i graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
Install https suppport and update the repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install apt-transport-https&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Install Graylog server using following command.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install graylog-server &lt;br /&gt;
Edit the server.conf file.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/graylog/server/server.conf&lt;br /&gt;
Configure the following variables in the above file.&lt;br /&gt;
&lt;br /&gt;
Set a secret to secure the user passwords, use the following command to generate a secret, use at least 64 character’s.&lt;br /&gt;
&lt;br /&gt;
 $ pwgen -N 1 -s 96&lt;br /&gt;
&lt;br /&gt;
 OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
If you get a “pwgen: command not found“, use the following command to install pwgen.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install pwgen&lt;br /&gt;
&lt;br /&gt;
Place the secret.&lt;br /&gt;
&lt;br /&gt;
 password_secret = OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
Next is to set a hash password for the root user (not to be confused with system user, root user of graylog is admin). You will use this password for login into the web interface, admin’s password can not be changed using web interface, must edit this variable to set.&lt;br /&gt;
&lt;br /&gt;
Replace “yourpassword” with the choice of your’s.&lt;br /&gt;
&lt;br /&gt;
 # echo -n yourpassword | sha256sum&lt;br /&gt;
&lt;br /&gt;
 e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
&lt;br /&gt;
Place the hash password.&lt;br /&gt;
&lt;br /&gt;
 root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
You can setup email address root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_email = &amp;quot;cyber.web@gmail.com&amp;quot;&lt;br /&gt;
Set timezone of root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_timezone = UTC&lt;br /&gt;
&lt;br /&gt;
Graylog will try to find the Elasticsearch nodes automatically, it uses multicast mode for the same. But when it comes to larger network, it is recommended to use unicast mode which is best suited one for production setups. So add the following two entries to graylog server.conf file, replace ipaddress with live hostname or ipaddress. Multiple hosts can be added with comma separated.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_http_enabled = false&lt;br /&gt;
 elasticsearch_discovery_zen_ping_unicast_hosts = ipaddress:9300&lt;br /&gt;
&lt;br /&gt;
Set only one master node by defining the below variable, default setting is true, you must set it as a false to make the particular node as a slave. Master node performs some periodic tasks that slave won’t perform.&lt;br /&gt;
&lt;br /&gt;
 is_master = true&lt;br /&gt;
&lt;br /&gt;
The following variable sets the number of log messages to keep per index, it is recommended to have several smaller indices instead of larger ones.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_docs_per_index = 20000000&lt;br /&gt;
The following parameter defines to have total number of indices, if the this number is reached old index will be deleted.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_number_of_indices = 20&lt;br /&gt;
Shards setting is really depends on the number of nodes in the Elasticsearch cluster, if you have only one node, set it as 1.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_shards = 1&lt;br /&gt;
The number of replicas for your indices, if you have only one node in Elasticsearch cluster; set it as 0.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_replicas = 0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Restart Graylog service.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 $ sudo service graylog-server restart&lt;br /&gt;
Enable auto start of graylog server service during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d graylog-server defaults&lt;br /&gt;
You can check out the server startup logs, it will be useful for you to troubleshoot graylog in case of any issue.&lt;br /&gt;
&lt;br /&gt;
 # tailf /var/log/graylog-server/server.log&lt;br /&gt;
On successful start of graylog-server, you should get the following message in the log file.&lt;br /&gt;
&lt;br /&gt;
 2015-09-17T09:35:22.895+02:00 INFO  [ServerBootstrap] Graylog server up and running.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Graylog web interface:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To configure graylog-web-interface, you must have at least one graylog-server node. Install Graylog web interface using “apt-get”.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install graylog-web&lt;br /&gt;
Edit the configuration file and set the following parameters.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/graylog/web/web.conf&lt;br /&gt;
This is the list of graylog-server nodes, you can add multiple nodes, separate by commas.&lt;br /&gt;
&lt;br /&gt;
 graylog2-server.uris=&amp;quot;http://127.0.0.1:12900/&amp;quot;&lt;br /&gt;
Set the application scret and can be generated using pwgen -N 1 -s 96.&lt;br /&gt;
&lt;br /&gt;
 application.secret=&amp;quot;sNXyFf6B4Au3GqSlZwq7En86xp10JimdxxYiLtpptOejX6tIUpUE4DGRJOrcMj07wcK0wugPaapvzEzCYinEWj7BOtHXVl5Z&amp;quot;&lt;br /&gt;
Set Web interface timezone.&lt;br /&gt;
&lt;br /&gt;
 Timezone=&amp;quot;Europe/Tallinn&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Restart the gralog-web-interface using following command,&lt;br /&gt;
&lt;br /&gt;
 $ sudo service graylog-web restart&lt;br /&gt;
Enable auto start of web interface service during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d graylog-web defaults&lt;br /&gt;
&lt;br /&gt;
= Experiences =&lt;br /&gt;
&lt;br /&gt;
In during installation time, we have found some problems which will impact on our your installation as well.&lt;br /&gt;
&lt;br /&gt;
- The version of Ubuntu and Graylog might conflict each other as well as Graylog&#039;s packages ( e.g : java )&lt;br /&gt;
&lt;br /&gt;
= Summary =&lt;br /&gt;
&lt;br /&gt;
During the installation Graylogs in both versions of Ubuntu ( 14.04 and 16.0 ). We realized that it had many differences between these versions. Listed above our objectives what we expect to achieve after installing and using Graylog, along with its useful information and its interaction between Administrator (users) with Graylog.&lt;br /&gt;
&lt;br /&gt;
its advantages:&lt;br /&gt;
 + Free.&lt;br /&gt;
 + Easy to interact with web interface.&lt;br /&gt;
 + Easy to install with the good support from its sources.&lt;br /&gt;
 + Help Administrator (user) to collect information in during logging and monitoring straightforwardly.&lt;br /&gt;
 + Many useful tools ( plugins ) which supports to work on.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;http://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/how-to-install-graylog2-on-ubuntu-14-04.html&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=107007</id>
		<title>Logging - Monitoring C21</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=107007"/>
		<updated>2016-10-13T08:18:08Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* Elasticsearch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Logging and Monitoring with Graylog&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Course: Logging and Monitoring - Lecturer: Margus Ernits&lt;br /&gt;
&lt;br /&gt;
Group: Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Team members: Ender Phan, Kustas Kurval, Sheela Gowry Sumathi Raju, Artur Vincent Kerge&lt;br /&gt;
&lt;br /&gt;
Page created on: October 05, 2016&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In order to understand how to set up the Graylog service as well as understand its crucial roles. We decided to choose Graylog as our application for logging and monitoring. Below are our objectives which would be expected to achieve later on:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to install Graylog on Ubuntu 14.04.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to use Graylog to protect servers.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Upgrading and configuring Graylog at first, and know how to secure Graylog.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Threats and security during logging.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Installation Guide =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ubuntu 14.04&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Graylog_simple_setup_v2.png]]&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
Since the Elasticsearch is based on java, we would require to install either openJDK or Oracle JDK. It is recommended to install Oracle JDK, verify the java version by using the following command.&lt;br /&gt;
&lt;br /&gt;
Remove the OpenJDK from the system, if you have it already installed.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get remove --purge openjdk*&lt;br /&gt;
Add repository.&lt;br /&gt;
&lt;br /&gt;
 $ sudo add-apt-repository -y ppa:webupd8team/java&lt;br /&gt;
Run the following command to pull the packages information from the newly added repository.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Issue the following command to install Java jdk 1.8.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get -y install oracle-java8-installer&lt;br /&gt;
&lt;br /&gt;
 $ java -version&lt;br /&gt;
&lt;br /&gt;
 Java version &amp;quot;1.8.0_60&amp;quot;&lt;br /&gt;
 Java(TM) SE Runtime Environment (build 1.8.0_60-b27)&lt;br /&gt;
 Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)&lt;br /&gt;
&lt;br /&gt;
== Installing extras ==&lt;br /&gt;
&lt;br /&gt;
=== Elasticsearch ===&lt;br /&gt;
&lt;br /&gt;
Let’s install Elasticsearch, it can be downloaded from the official website.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Download and install GPG signing key&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 $ sudo wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
Note that the -qO argument is lowercase Quebec followed by capital Oscar.&lt;br /&gt;
&lt;br /&gt;
Save the repository definition to /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
 $ echo &amp;quot;deb http://packages.elastic.co/elasticsearch/2.x/debian stable main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
Update repository cache and install Elasticsearch&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update &amp;amp;&amp;amp; apt-get install elasticsearch&lt;br /&gt;
&lt;br /&gt;
Configure Elasticsearch to start during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d elasticsearch defaults&lt;br /&gt;
The only important thing is to set a cluster name as “graylog2“, that is being used by graylog. Now edit the configuration file of Elasticsearch.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
&lt;br /&gt;
 cluster.name: graylog2&lt;br /&gt;
&lt;br /&gt;
In the same file disable dynamic scripts to avoid remote execution. That can be done by adding the following line:&lt;br /&gt;
&lt;br /&gt;
 script.disable_dynamic: true&lt;br /&gt;
&lt;br /&gt;
Once it is done, we are good to go. Before that, restart the Elasticsearch services to load the modified configuration.&lt;br /&gt;
&lt;br /&gt;
 $ sudo service elasticsearch restart&lt;br /&gt;
Wait at least a minute to let the Elasticsearch get fully restarted, otherwise testing will fail. Elastisearch should be now listen on 9200 for processing HTTP request, we can use CURL to get the response. Ensure that it returns with cluster name as “graylog2”&lt;br /&gt;
&lt;br /&gt;
 $ curl -X GET http://localhost:9200&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;status&amp;quot; : 200,&lt;br /&gt;
   &amp;quot;name&amp;quot; : &amp;quot;Pistol&amp;quot;,&lt;br /&gt;
   &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
   &amp;quot;version&amp;quot; : {&lt;br /&gt;
    &amp;quot;number&amp;quot; : &amp;quot;1.7.1&amp;quot;,&lt;br /&gt;
    &amp;quot;build_hash&amp;quot; : &amp;quot;b88f43fc40b0bcd7f173a1f9ee2e97816de80b19&amp;quot;,&lt;br /&gt;
    &amp;quot;build_timestamp&amp;quot; : &amp;quot;2015-07-29T09:54:16Z&amp;quot;,&lt;br /&gt;
    &amp;quot;build_snapshot&amp;quot; : false,&lt;br /&gt;
    &amp;quot;lucene_version&amp;quot; : &amp;quot;4.10.4&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;tagline&amp;quot; : &amp;quot;You Know, for Search&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Optional: Use the following command to check the Elasticsearch cluster health, you must get a cluster status as “green” for graylog to work.&lt;br /&gt;
&lt;br /&gt;
 $ curl -XGET &#039;http://localhost:9200/_cluster/health?pretty=true&#039;&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;status&amp;quot; : &amp;quot;&#039;&#039;&#039;green&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;timed_out&amp;quot; : false,&lt;br /&gt;
  &amp;quot;number_of_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;number_of_data_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;active_primary_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;active_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;relocating_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;initializing_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;delayed_unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_pending_tasks&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_in_flight_fetch&amp;quot; : 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== MongoDB ===&lt;br /&gt;
&lt;br /&gt;
MongoDB is available in dep format and same can be downloaded from the official website. Add the following repository information on the system to install MongoDB. Before that we must import public key.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10&lt;br /&gt;
Add repository by creating the /etc/apt/sources.list.d/mongodb-org-3.0.list list file using the command.&lt;br /&gt;
&lt;br /&gt;
 $ echo &amp;quot;deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse&amp;quot; | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list&lt;br /&gt;
Update repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Install MongoDB using the following command.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install mongodb-org&lt;br /&gt;
Start the MongoDB service and enable it to start automatically during the system start-up.&lt;br /&gt;
&lt;br /&gt;
 $ sudo service mongod start&lt;br /&gt;
&lt;br /&gt;
 $ sudo ls -s /usr/bin/mongod /etc/init.d/mongod&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d mongod defaults&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Graylog2 ===&lt;br /&gt;
&lt;br /&gt;
Graylog-server accepts and process the log messages, also spawns the RESTAPI for the requests that comes from graylog-web-interface. Download the latest version of graylog from graylog.org,&lt;br /&gt;
&lt;br /&gt;
Use the following command to install graylog2 repository.&lt;br /&gt;
&lt;br /&gt;
 $ wget https://packages.graylog2.org/repo/packages/graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
&lt;br /&gt;
 $ sudo dpkg -i graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
Install https suppport and update the repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install apt-transport-https&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Install Graylog server using following command.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install graylog-server &lt;br /&gt;
Edit the server.conf file.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/graylog/server/server.conf&lt;br /&gt;
Configure the following variables in the above file.&lt;br /&gt;
&lt;br /&gt;
Set a secret to secure the user passwords, use the following command to generate a secret, use at least 64 character’s.&lt;br /&gt;
&lt;br /&gt;
 $ pwgen -N 1 -s 96&lt;br /&gt;
&lt;br /&gt;
 OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
If you get a “pwgen: command not found“, use the following command to install pwgen.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install pwgen&lt;br /&gt;
&lt;br /&gt;
Place the secret.&lt;br /&gt;
&lt;br /&gt;
 password_secret = OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
Next is to set a hash password for the root user (not to be confused with system user, root user of graylog is admin). You will use this password for login into the web interface, admin’s password can not be changed using web interface, must edit this variable to set.&lt;br /&gt;
&lt;br /&gt;
Replace “yourpassword” with the choice of your’s.&lt;br /&gt;
&lt;br /&gt;
 # echo -n yourpassword | sha256sum&lt;br /&gt;
&lt;br /&gt;
 e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
&lt;br /&gt;
Place the hash password.&lt;br /&gt;
&lt;br /&gt;
 root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
You can setup email address root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_email = &amp;quot;cyber.web@gmail.com&amp;quot;&lt;br /&gt;
Set timezone of root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_timezone = UTC&lt;br /&gt;
&lt;br /&gt;
Graylog will try to find the Elasticsearch nodes automatically, it uses multicast mode for the same. But when it comes to larger network, it is recommended to use unicast mode which is best suited one for production setups. So add the following two entries to graylog server.conf file, replace ipaddress with live hostname or ipaddress. Multiple hosts can be added with comma separated.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_http_enabled = false&lt;br /&gt;
 elasticsearch_discovery_zen_ping_unicast_hosts = ipaddress:9300&lt;br /&gt;
&lt;br /&gt;
Set only one master node by defining the below variable, default setting is true, you must set it as a false to make the particular node as a slave. Master node performs some periodic tasks that slave won’t perform.&lt;br /&gt;
&lt;br /&gt;
 is_master = true&lt;br /&gt;
&lt;br /&gt;
The following variable sets the number of log messages to keep per index, it is recommended to have several smaller indices instead of larger ones.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_docs_per_index = 20000000&lt;br /&gt;
The following parameter defines to have total number of indices, if the this number is reached old index will be deleted.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_number_of_indices = 20&lt;br /&gt;
Shards setting is really depends on the number of nodes in the Elasticsearch cluster, if you have only one node, set it as 1.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_shards = 1&lt;br /&gt;
The number of replicas for your indices, if you have only one node in Elasticsearch cluster; set it as 0.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_replicas = 0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Restart Graylog service.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 $ sudo service graylog-server restart&lt;br /&gt;
Enable auto start of graylog server service during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d graylog-server defaults&lt;br /&gt;
You can check out the server startup logs, it will be useful for you to troubleshoot graylog in case of any issue.&lt;br /&gt;
&lt;br /&gt;
 # tailf /var/log/graylog-server/server.log&lt;br /&gt;
On successful start of graylog-server, you should get the following message in the log file.&lt;br /&gt;
&lt;br /&gt;
 2015-09-17T09:35:22.895+02:00 INFO  [ServerBootstrap] Graylog server up and running.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Graylog web interface:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To configure graylog-web-interface, you must have at least one graylog-server node. Install Graylog web interface using “apt-get”.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install graylog-web&lt;br /&gt;
Edit the configuration file and set the following parameters.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/graylog/web/web.conf&lt;br /&gt;
This is the list of graylog-server nodes, you can add multiple nodes, separate by commas.&lt;br /&gt;
&lt;br /&gt;
 graylog2-server.uris=&amp;quot;http://127.0.0.1:12900/&amp;quot;&lt;br /&gt;
Set the application scret and can be generated using pwgen -N 1 -s 96.&lt;br /&gt;
&lt;br /&gt;
 application.secret=&amp;quot;sNXyFf6B4Au3GqSlZwq7En86xp10JimdxxYiLtpptOejX6tIUpUE4DGRJOrcMj07wcK0wugPaapvzEzCYinEWj7BOtHXVl5Z&amp;quot;&lt;br /&gt;
Set Web interface timezone.&lt;br /&gt;
&lt;br /&gt;
 Timezone=&amp;quot;Europe/Tallinn&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Restart the gralog-web-interface using following command,&lt;br /&gt;
&lt;br /&gt;
 $ sudo service graylog-web restart&lt;br /&gt;
Enable auto start of web interface service during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d graylog-web defaults&lt;br /&gt;
&lt;br /&gt;
= Experiences =&lt;br /&gt;
&lt;br /&gt;
In during installation time, we have found some problems which will impact on our your installation as well.&lt;br /&gt;
&lt;br /&gt;
- The version of Ubuntu and Graylog might conflict each other as well as Graylog&#039;s packages ( e.g : java )&lt;br /&gt;
&lt;br /&gt;
= Summary =&lt;br /&gt;
&lt;br /&gt;
During the installation Graylogs in both versions of Ubuntu ( 14.04 and 16.0 ). We realized that it had many differences between these versions. Listed above our objectives what we expect to achieve after installing and using Graylog, along with its useful information and its interaction between Administrator (users) with Graylog.&lt;br /&gt;
&lt;br /&gt;
its advantages:&lt;br /&gt;
 + Free.&lt;br /&gt;
 + Easy to interact with web interface.&lt;br /&gt;
 + Easy to install with the good support from its sources.&lt;br /&gt;
 + Help Administrator (user) to collect information in during logging and monitoring straightforwardly.&lt;br /&gt;
 + Many useful tools ( plugins ) which supports to work on.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;http://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/how-to-install-graylog2-on-ubuntu-14-04.html&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=107006</id>
		<title>Logging - Monitoring C21</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=107006"/>
		<updated>2016-10-13T08:13:17Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* Elasticsearch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Logging and Monitoring with Graylog&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Course: Logging and Monitoring - Lecturer: Margus Ernits&lt;br /&gt;
&lt;br /&gt;
Group: Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Team members: Ender Phan, Kustas Kurval, Sheela Gowry Sumathi Raju, Artur Vincent Kerge&lt;br /&gt;
&lt;br /&gt;
Page created on: October 05, 2016&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In order to understand how to set up the Graylog service as well as understand its crucial roles. We decided to choose Graylog as our application for logging and monitoring. Below are our objectives which would be expected to achieve later on:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to install Graylog on Ubuntu 14.04.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to use Graylog to protect servers.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Upgrading and configuring Graylog at first, and know how to secure Graylog.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Threats and security during logging.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Installation Guide =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ubuntu 14.04&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Graylog_simple_setup_v2.png]]&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
Since the Elasticsearch is based on java, we would require to install either openJDK or Oracle JDK. It is recommended to install Oracle JDK, verify the java version by using the following command.&lt;br /&gt;
&lt;br /&gt;
Remove the OpenJDK from the system, if you have it already installed.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get remove --purge openjdk*&lt;br /&gt;
Add repository.&lt;br /&gt;
&lt;br /&gt;
 $ sudo add-apt-repository -y ppa:webupd8team/java&lt;br /&gt;
Run the following command to pull the packages information from the newly added repository.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Issue the following command to install Java jdk 1.8.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get -y install oracle-java8-installer&lt;br /&gt;
&lt;br /&gt;
 $ java -version&lt;br /&gt;
&lt;br /&gt;
 Java version &amp;quot;1.8.0_60&amp;quot;&lt;br /&gt;
 Java(TM) SE Runtime Environment (build 1.8.0_60-b27)&lt;br /&gt;
 Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)&lt;br /&gt;
&lt;br /&gt;
== Installing extras ==&lt;br /&gt;
&lt;br /&gt;
=== Elasticsearch ===&lt;br /&gt;
&lt;br /&gt;
Let’s install Elasticsearch, it can be downloaded from the official website.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Download and install GPG signing key&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 $ sudo wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
Note that the -qO argument is lowercase Quebec followed by capital Oscar.&lt;br /&gt;
&lt;br /&gt;
Save the repository definition to /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
 $ echo &amp;quot;deb http://packages.elastic.co/elasticsearch/2.x/debian stable main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
Update repository cache and install Elasticsearch&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update &amp;amp;&amp;amp; apt-get install elasticsearch&lt;br /&gt;
&lt;br /&gt;
Configure Elasticsearch to start during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d elasticsearch defaults&lt;br /&gt;
The only important thing is to set a cluster name as “graylog2“, that is being used by graylog. Now edit the configuration file of Elasticsearch.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
&lt;br /&gt;
 cluster.name: graylog2&lt;br /&gt;
Disable dynamic scripts to avoid remote execution, that can be done by adding the following line at the end of above file.&lt;br /&gt;
&lt;br /&gt;
 script.disable_dynamic: true&lt;br /&gt;
Once it is done, we are good to go. Before that, restart the Elasticsearch services to load the modified configuration.&lt;br /&gt;
&lt;br /&gt;
 $ sudo service elasticsearch restart&lt;br /&gt;
Wait at least a minute to let the Elasticsearch get fully restarted, otherwise testing will fail. Elastisearch should be now listen on 9200 for processing HTTP request, we can use CURL to get the response. Ensure that it returns with cluster name as “graylog2”&lt;br /&gt;
&lt;br /&gt;
 $ curl -X GET http://localhost:9200&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;status&amp;quot; : 200,&lt;br /&gt;
   &amp;quot;name&amp;quot; : &amp;quot;Pistol&amp;quot;,&lt;br /&gt;
   &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
   &amp;quot;version&amp;quot; : {&lt;br /&gt;
    &amp;quot;number&amp;quot; : &amp;quot;1.7.1&amp;quot;,&lt;br /&gt;
    &amp;quot;build_hash&amp;quot; : &amp;quot;b88f43fc40b0bcd7f173a1f9ee2e97816de80b19&amp;quot;,&lt;br /&gt;
    &amp;quot;build_timestamp&amp;quot; : &amp;quot;2015-07-29T09:54:16Z&amp;quot;,&lt;br /&gt;
    &amp;quot;build_snapshot&amp;quot; : false,&lt;br /&gt;
    &amp;quot;lucene_version&amp;quot; : &amp;quot;4.10.4&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;tagline&amp;quot; : &amp;quot;You Know, for Search&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Optional: Use the following command to check the Elasticsearch cluster health, you must get a cluster status as “green” for graylog to work.&lt;br /&gt;
&lt;br /&gt;
 $ curl -XGET &#039;http://localhost:9200/_cluster/health?pretty=true&#039;&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;status&amp;quot; : &amp;quot;&#039;&#039;&#039;green&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;timed_out&amp;quot; : false,&lt;br /&gt;
  &amp;quot;number_of_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;number_of_data_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;active_primary_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;active_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;relocating_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;initializing_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;delayed_unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_pending_tasks&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_in_flight_fetch&amp;quot; : 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== MongoDB ===&lt;br /&gt;
&lt;br /&gt;
MongoDB is available in dep format and same can be downloaded from the official website. Add the following repository information on the system to install MongoDB. Before that we must import public key.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10&lt;br /&gt;
Add repository by creating the /etc/apt/sources.list.d/mongodb-org-3.0.list list file using the command.&lt;br /&gt;
&lt;br /&gt;
 $ echo &amp;quot;deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse&amp;quot; | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list&lt;br /&gt;
Update repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Install MongoDB using the following command.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install mongodb-org&lt;br /&gt;
Start the MongoDB service and enable it to start automatically during the system start-up.&lt;br /&gt;
&lt;br /&gt;
 $ sudo service mongod start&lt;br /&gt;
&lt;br /&gt;
 $ sudo ls -s /usr/bin/mongod /etc/init.d/mongod&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d mongod defaults&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Graylog2 ===&lt;br /&gt;
&lt;br /&gt;
Graylog-server accepts and process the log messages, also spawns the RESTAPI for the requests that comes from graylog-web-interface. Download the latest version of graylog from graylog.org,&lt;br /&gt;
&lt;br /&gt;
Use the following command to install graylog2 repository.&lt;br /&gt;
&lt;br /&gt;
 $ wget https://packages.graylog2.org/repo/packages/graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
&lt;br /&gt;
 $ sudo dpkg -i graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
Install https suppport and update the repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install apt-transport-https&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Install Graylog server using following command.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install graylog-server &lt;br /&gt;
Edit the server.conf file.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/graylog/server/server.conf&lt;br /&gt;
Configure the following variables in the above file.&lt;br /&gt;
&lt;br /&gt;
Set a secret to secure the user passwords, use the following command to generate a secret, use at least 64 character’s.&lt;br /&gt;
&lt;br /&gt;
 $ pwgen -N 1 -s 96&lt;br /&gt;
&lt;br /&gt;
 OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
If you get a “pwgen: command not found“, use the following command to install pwgen.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install pwgen&lt;br /&gt;
&lt;br /&gt;
Place the secret.&lt;br /&gt;
&lt;br /&gt;
 password_secret = OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
Next is to set a hash password for the root user (not to be confused with system user, root user of graylog is admin). You will use this password for login into the web interface, admin’s password can not be changed using web interface, must edit this variable to set.&lt;br /&gt;
&lt;br /&gt;
Replace “yourpassword” with the choice of your’s.&lt;br /&gt;
&lt;br /&gt;
 # echo -n yourpassword | sha256sum&lt;br /&gt;
&lt;br /&gt;
 e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
&lt;br /&gt;
Place the hash password.&lt;br /&gt;
&lt;br /&gt;
 root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
You can setup email address root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_email = &amp;quot;cyber.web@gmail.com&amp;quot;&lt;br /&gt;
Set timezone of root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_timezone = UTC&lt;br /&gt;
&lt;br /&gt;
Graylog will try to find the Elasticsearch nodes automatically, it uses multicast mode for the same. But when it comes to larger network, it is recommended to use unicast mode which is best suited one for production setups. So add the following two entries to graylog server.conf file, replace ipaddress with live hostname or ipaddress. Multiple hosts can be added with comma separated.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_http_enabled = false&lt;br /&gt;
 elasticsearch_discovery_zen_ping_unicast_hosts = ipaddress:9300&lt;br /&gt;
&lt;br /&gt;
Set only one master node by defining the below variable, default setting is true, you must set it as a false to make the particular node as a slave. Master node performs some periodic tasks that slave won’t perform.&lt;br /&gt;
&lt;br /&gt;
 is_master = true&lt;br /&gt;
&lt;br /&gt;
The following variable sets the number of log messages to keep per index, it is recommended to have several smaller indices instead of larger ones.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_docs_per_index = 20000000&lt;br /&gt;
The following parameter defines to have total number of indices, if the this number is reached old index will be deleted.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_number_of_indices = 20&lt;br /&gt;
Shards setting is really depends on the number of nodes in the Elasticsearch cluster, if you have only one node, set it as 1.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_shards = 1&lt;br /&gt;
The number of replicas for your indices, if you have only one node in Elasticsearch cluster; set it as 0.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_replicas = 0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Restart Graylog service.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 $ sudo service graylog-server restart&lt;br /&gt;
Enable auto start of graylog server service during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d graylog-server defaults&lt;br /&gt;
You can check out the server startup logs, it will be useful for you to troubleshoot graylog in case of any issue.&lt;br /&gt;
&lt;br /&gt;
 # tailf /var/log/graylog-server/server.log&lt;br /&gt;
On successful start of graylog-server, you should get the following message in the log file.&lt;br /&gt;
&lt;br /&gt;
 2015-09-17T09:35:22.895+02:00 INFO  [ServerBootstrap] Graylog server up and running.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Graylog web interface:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To configure graylog-web-interface, you must have at least one graylog-server node. Install Graylog web interface using “apt-get”.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install graylog-web&lt;br /&gt;
Edit the configuration file and set the following parameters.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/graylog/web/web.conf&lt;br /&gt;
This is the list of graylog-server nodes, you can add multiple nodes, separate by commas.&lt;br /&gt;
&lt;br /&gt;
 graylog2-server.uris=&amp;quot;http://127.0.0.1:12900/&amp;quot;&lt;br /&gt;
Set the application scret and can be generated using pwgen -N 1 -s 96.&lt;br /&gt;
&lt;br /&gt;
 application.secret=&amp;quot;sNXyFf6B4Au3GqSlZwq7En86xp10JimdxxYiLtpptOejX6tIUpUE4DGRJOrcMj07wcK0wugPaapvzEzCYinEWj7BOtHXVl5Z&amp;quot;&lt;br /&gt;
Set Web interface timezone.&lt;br /&gt;
&lt;br /&gt;
 Timezone=&amp;quot;Europe/Tallinn&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Restart the gralog-web-interface using following command,&lt;br /&gt;
&lt;br /&gt;
 $ sudo service graylog-web restart&lt;br /&gt;
Enable auto start of web interface service during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d graylog-web defaults&lt;br /&gt;
&lt;br /&gt;
= Experiences =&lt;br /&gt;
&lt;br /&gt;
In during installation time, we have found some problems which will impact on our your installation as well.&lt;br /&gt;
&lt;br /&gt;
- The version of Ubuntu and Graylog might conflict each other as well as Graylog&#039;s packages ( e.g : java )&lt;br /&gt;
&lt;br /&gt;
= Summary =&lt;br /&gt;
&lt;br /&gt;
During the installation Graylogs in both versions of Ubuntu ( 14.04 and 16.0 ). We realized that it had many differences between these versions. Listed above our objectives what we expect to achieve after installing and using Graylog, along with its useful information and its interaction between Administrator (users) with Graylog.&lt;br /&gt;
&lt;br /&gt;
its advantages:&lt;br /&gt;
 + Free.&lt;br /&gt;
 + Easy to interact with web interface.&lt;br /&gt;
 + Easy to install with the good support from its sources.&lt;br /&gt;
 + Help Administrator (user) to collect information in during logging and monitoring straightforwardly.&lt;br /&gt;
 + Many useful tools ( plugins ) which supports to work on.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;http://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/how-to-install-graylog2-on-ubuntu-14-04.html&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=107005</id>
		<title>Logging - Monitoring C21</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=107005"/>
		<updated>2016-10-13T08:12:12Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* Elasticsearch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Logging and Monitoring with Graylog&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Course: Logging and Monitoring - Lecturer: Margus Ernits&lt;br /&gt;
&lt;br /&gt;
Group: Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Team members: Ender Phan, Kustas Kurval, Sheela Gowry Sumathi Raju, Artur Vincent Kerge&lt;br /&gt;
&lt;br /&gt;
Page created on: October 05, 2016&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In order to understand how to set up the Graylog service as well as understand its crucial roles. We decided to choose Graylog as our application for logging and monitoring. Below are our objectives which would be expected to achieve later on:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to install Graylog on Ubuntu 14.04.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to use Graylog to protect servers.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Upgrading and configuring Graylog at first, and know how to secure Graylog.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Threats and security during logging.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Installation Guide =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ubuntu 14.04&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Graylog_simple_setup_v2.png]]&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
Since the Elasticsearch is based on java, we would require to install either openJDK or Oracle JDK. It is recommended to install Oracle JDK, verify the java version by using the following command.&lt;br /&gt;
&lt;br /&gt;
Remove the OpenJDK from the system, if you have it already installed.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get remove --purge openjdk*&lt;br /&gt;
Add repository.&lt;br /&gt;
&lt;br /&gt;
 $ sudo add-apt-repository -y ppa:webupd8team/java&lt;br /&gt;
Run the following command to pull the packages information from the newly added repository.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Issue the following command to install Java jdk 1.8.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get -y install oracle-java8-installer&lt;br /&gt;
&lt;br /&gt;
 $ java -version&lt;br /&gt;
&lt;br /&gt;
 Java version &amp;quot;1.8.0_60&amp;quot;&lt;br /&gt;
 Java(TM) SE Runtime Environment (build 1.8.0_60-b27)&lt;br /&gt;
 Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)&lt;br /&gt;
&lt;br /&gt;
== Installing extras ==&lt;br /&gt;
&lt;br /&gt;
=== Elasticsearch ===&lt;br /&gt;
&lt;br /&gt;
Let’s install Elasticsearch, it can be downloaded from the official website.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Download and install GPG signing key&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 $ sudo wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
Note that the -qO argument is lowercase Quebec followed by capital Oscar.&lt;br /&gt;
&lt;br /&gt;
Save the repository definition to /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
 $ echo &amp;quot;deb http://packages.elastic.co/elasticsearch/2.x/debian stable main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
Update repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install elasticsearch&lt;br /&gt;
Configure Elasticsearch to start during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d elasticsearch defaults&lt;br /&gt;
The only important thing is to set a cluster name as “graylog2“, that is being used by graylog. Now edit the configuration file of Elasticsearch.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
&lt;br /&gt;
 cluster.name: graylog2&lt;br /&gt;
Disable dynamic scripts to avoid remote execution, that can be done by adding the following line at the end of above file.&lt;br /&gt;
&lt;br /&gt;
 script.disable_dynamic: true&lt;br /&gt;
Once it is done, we are good to go. Before that, restart the Elasticsearch services to load the modified configuration.&lt;br /&gt;
&lt;br /&gt;
 $ sudo service elasticsearch restart&lt;br /&gt;
Wait at least a minute to let the Elasticsearch get fully restarted, otherwise testing will fail. Elastisearch should be now listen on 9200 for processing HTTP request, we can use CURL to get the response. Ensure that it returns with cluster name as “graylog2”&lt;br /&gt;
&lt;br /&gt;
 $ curl -X GET http://localhost:9200&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;status&amp;quot; : 200,&lt;br /&gt;
   &amp;quot;name&amp;quot; : &amp;quot;Pistol&amp;quot;,&lt;br /&gt;
   &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
   &amp;quot;version&amp;quot; : {&lt;br /&gt;
    &amp;quot;number&amp;quot; : &amp;quot;1.7.1&amp;quot;,&lt;br /&gt;
    &amp;quot;build_hash&amp;quot; : &amp;quot;b88f43fc40b0bcd7f173a1f9ee2e97816de80b19&amp;quot;,&lt;br /&gt;
    &amp;quot;build_timestamp&amp;quot; : &amp;quot;2015-07-29T09:54:16Z&amp;quot;,&lt;br /&gt;
    &amp;quot;build_snapshot&amp;quot; : false,&lt;br /&gt;
    &amp;quot;lucene_version&amp;quot; : &amp;quot;4.10.4&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;tagline&amp;quot; : &amp;quot;You Know, for Search&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Optional: Use the following command to check the Elasticsearch cluster health, you must get a cluster status as “green” for graylog to work.&lt;br /&gt;
&lt;br /&gt;
 $ curl -XGET &#039;http://localhost:9200/_cluster/health?pretty=true&#039;&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;status&amp;quot; : &amp;quot;&#039;&#039;&#039;green&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;timed_out&amp;quot; : false,&lt;br /&gt;
  &amp;quot;number_of_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;number_of_data_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;active_primary_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;active_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;relocating_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;initializing_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;delayed_unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_pending_tasks&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_in_flight_fetch&amp;quot; : 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== MongoDB ===&lt;br /&gt;
&lt;br /&gt;
MongoDB is available in dep format and same can be downloaded from the official website. Add the following repository information on the system to install MongoDB. Before that we must import public key.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10&lt;br /&gt;
Add repository by creating the /etc/apt/sources.list.d/mongodb-org-3.0.list list file using the command.&lt;br /&gt;
&lt;br /&gt;
 $ echo &amp;quot;deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse&amp;quot; | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list&lt;br /&gt;
Update repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Install MongoDB using the following command.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install mongodb-org&lt;br /&gt;
Start the MongoDB service and enable it to start automatically during the system start-up.&lt;br /&gt;
&lt;br /&gt;
 $ sudo service mongod start&lt;br /&gt;
&lt;br /&gt;
 $ sudo ls -s /usr/bin/mongod /etc/init.d/mongod&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d mongod defaults&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Graylog2 ===&lt;br /&gt;
&lt;br /&gt;
Graylog-server accepts and process the log messages, also spawns the RESTAPI for the requests that comes from graylog-web-interface. Download the latest version of graylog from graylog.org,&lt;br /&gt;
&lt;br /&gt;
Use the following command to install graylog2 repository.&lt;br /&gt;
&lt;br /&gt;
 $ wget https://packages.graylog2.org/repo/packages/graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
&lt;br /&gt;
 $ sudo dpkg -i graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
Install https suppport and update the repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install apt-transport-https&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Install Graylog server using following command.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install graylog-server &lt;br /&gt;
Edit the server.conf file.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/graylog/server/server.conf&lt;br /&gt;
Configure the following variables in the above file.&lt;br /&gt;
&lt;br /&gt;
Set a secret to secure the user passwords, use the following command to generate a secret, use at least 64 character’s.&lt;br /&gt;
&lt;br /&gt;
 $ pwgen -N 1 -s 96&lt;br /&gt;
&lt;br /&gt;
 OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
If you get a “pwgen: command not found“, use the following command to install pwgen.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install pwgen&lt;br /&gt;
&lt;br /&gt;
Place the secret.&lt;br /&gt;
&lt;br /&gt;
 password_secret = OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
Next is to set a hash password for the root user (not to be confused with system user, root user of graylog is admin). You will use this password for login into the web interface, admin’s password can not be changed using web interface, must edit this variable to set.&lt;br /&gt;
&lt;br /&gt;
Replace “yourpassword” with the choice of your’s.&lt;br /&gt;
&lt;br /&gt;
 # echo -n yourpassword | sha256sum&lt;br /&gt;
&lt;br /&gt;
 e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
&lt;br /&gt;
Place the hash password.&lt;br /&gt;
&lt;br /&gt;
 root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
You can setup email address root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_email = &amp;quot;cyber.web@gmail.com&amp;quot;&lt;br /&gt;
Set timezone of root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_timezone = UTC&lt;br /&gt;
&lt;br /&gt;
Graylog will try to find the Elasticsearch nodes automatically, it uses multicast mode for the same. But when it comes to larger network, it is recommended to use unicast mode which is best suited one for production setups. So add the following two entries to graylog server.conf file, replace ipaddress with live hostname or ipaddress. Multiple hosts can be added with comma separated.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_http_enabled = false&lt;br /&gt;
 elasticsearch_discovery_zen_ping_unicast_hosts = ipaddress:9300&lt;br /&gt;
&lt;br /&gt;
Set only one master node by defining the below variable, default setting is true, you must set it as a false to make the particular node as a slave. Master node performs some periodic tasks that slave won’t perform.&lt;br /&gt;
&lt;br /&gt;
 is_master = true&lt;br /&gt;
&lt;br /&gt;
The following variable sets the number of log messages to keep per index, it is recommended to have several smaller indices instead of larger ones.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_docs_per_index = 20000000&lt;br /&gt;
The following parameter defines to have total number of indices, if the this number is reached old index will be deleted.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_number_of_indices = 20&lt;br /&gt;
Shards setting is really depends on the number of nodes in the Elasticsearch cluster, if you have only one node, set it as 1.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_shards = 1&lt;br /&gt;
The number of replicas for your indices, if you have only one node in Elasticsearch cluster; set it as 0.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_replicas = 0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Restart Graylog service.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 $ sudo service graylog-server restart&lt;br /&gt;
Enable auto start of graylog server service during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d graylog-server defaults&lt;br /&gt;
You can check out the server startup logs, it will be useful for you to troubleshoot graylog in case of any issue.&lt;br /&gt;
&lt;br /&gt;
 # tailf /var/log/graylog-server/server.log&lt;br /&gt;
On successful start of graylog-server, you should get the following message in the log file.&lt;br /&gt;
&lt;br /&gt;
 2015-09-17T09:35:22.895+02:00 INFO  [ServerBootstrap] Graylog server up and running.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Graylog web interface:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To configure graylog-web-interface, you must have at least one graylog-server node. Install Graylog web interface using “apt-get”.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install graylog-web&lt;br /&gt;
Edit the configuration file and set the following parameters.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/graylog/web/web.conf&lt;br /&gt;
This is the list of graylog-server nodes, you can add multiple nodes, separate by commas.&lt;br /&gt;
&lt;br /&gt;
 graylog2-server.uris=&amp;quot;http://127.0.0.1:12900/&amp;quot;&lt;br /&gt;
Set the application scret and can be generated using pwgen -N 1 -s 96.&lt;br /&gt;
&lt;br /&gt;
 application.secret=&amp;quot;sNXyFf6B4Au3GqSlZwq7En86xp10JimdxxYiLtpptOejX6tIUpUE4DGRJOrcMj07wcK0wugPaapvzEzCYinEWj7BOtHXVl5Z&amp;quot;&lt;br /&gt;
Set Web interface timezone.&lt;br /&gt;
&lt;br /&gt;
 Timezone=&amp;quot;Europe/Tallinn&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Restart the gralog-web-interface using following command,&lt;br /&gt;
&lt;br /&gt;
 $ sudo service graylog-web restart&lt;br /&gt;
Enable auto start of web interface service during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d graylog-web defaults&lt;br /&gt;
&lt;br /&gt;
= Experiences =&lt;br /&gt;
&lt;br /&gt;
In during installation time, we have found some problems which will impact on our your installation as well.&lt;br /&gt;
&lt;br /&gt;
- The version of Ubuntu and Graylog might conflict each other as well as Graylog&#039;s packages ( e.g : java )&lt;br /&gt;
&lt;br /&gt;
= Summary =&lt;br /&gt;
&lt;br /&gt;
During the installation Graylogs in both versions of Ubuntu ( 14.04 and 16.0 ). We realized that it had many differences between these versions. Listed above our objectives what we expect to achieve after installing and using Graylog, along with its useful information and its interaction between Administrator (users) with Graylog.&lt;br /&gt;
&lt;br /&gt;
its advantages:&lt;br /&gt;
 + Free.&lt;br /&gt;
 + Easy to interact with web interface.&lt;br /&gt;
 + Easy to install with the good support from its sources.&lt;br /&gt;
 + Help Administrator (user) to collect information in during logging and monitoring straightforwardly.&lt;br /&gt;
 + Many useful tools ( plugins ) which supports to work on.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;http://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/how-to-install-graylog2-on-ubuntu-14-04.html&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=107004</id>
		<title>Logging - Monitoring C21</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=107004"/>
		<updated>2016-10-13T08:11:49Z</updated>

		<summary type="html">&lt;p&gt;Akerge: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Logging and Monitoring with Graylog&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Course: Logging and Monitoring - Lecturer: Margus Ernits&lt;br /&gt;
&lt;br /&gt;
Group: Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Team members: Ender Phan, Kustas Kurval, Sheela Gowry Sumathi Raju, Artur Vincent Kerge&lt;br /&gt;
&lt;br /&gt;
Page created on: October 05, 2016&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In order to understand how to set up the Graylog service as well as understand its crucial roles. We decided to choose Graylog as our application for logging and monitoring. Below are our objectives which would be expected to achieve later on:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to install Graylog on Ubuntu 14.04.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to use Graylog to protect servers.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Upgrading and configuring Graylog at first, and know how to secure Graylog.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Threats and security during logging.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Installation Guide =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ubuntu 14.04&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Graylog_simple_setup_v2.png]]&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
Since the Elasticsearch is based on java, we would require to install either openJDK or Oracle JDK. It is recommended to install Oracle JDK, verify the java version by using the following command.&lt;br /&gt;
&lt;br /&gt;
Remove the OpenJDK from the system, if you have it already installed.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get remove --purge openjdk*&lt;br /&gt;
Add repository.&lt;br /&gt;
&lt;br /&gt;
 $ sudo add-apt-repository -y ppa:webupd8team/java&lt;br /&gt;
Run the following command to pull the packages information from the newly added repository.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Issue the following command to install Java jdk 1.8.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get -y install oracle-java8-installer&lt;br /&gt;
&lt;br /&gt;
 $ java -version&lt;br /&gt;
&lt;br /&gt;
 Java version &amp;quot;1.8.0_60&amp;quot;&lt;br /&gt;
 Java(TM) SE Runtime Environment (build 1.8.0_60-b27)&lt;br /&gt;
 Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)&lt;br /&gt;
&lt;br /&gt;
== Installing extras ==&lt;br /&gt;
&lt;br /&gt;
=== Elasticsearch ===&lt;br /&gt;
&lt;br /&gt;
Let’s install the Elasticsearch, it can be downloaded from the official website.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Download and install GPG signing key&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 $ sudo wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
Note that the -qO argument is lowercase Quebec followed by capital Oscar.&lt;br /&gt;
&lt;br /&gt;
Save the repository definition to /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
 $ echo &amp;quot;deb http://packages.elastic.co/elasticsearch/2.x/debian stable main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
Update repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install elasticsearch&lt;br /&gt;
Configure Elasticsearch to start during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d elasticsearch defaults&lt;br /&gt;
The only important thing is to set a cluster name as “graylog2“, that is being used by graylog. Now edit the configuration file of Elasticsearch.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
&lt;br /&gt;
 cluster.name: graylog2&lt;br /&gt;
Disable dynamic scripts to avoid remote execution, that can be done by adding the following line at the end of above file.&lt;br /&gt;
&lt;br /&gt;
 script.disable_dynamic: true&lt;br /&gt;
Once it is done, we are good to go. Before that, restart the Elasticsearch services to load the modified configuration.&lt;br /&gt;
&lt;br /&gt;
 $ sudo service elasticsearch restart&lt;br /&gt;
Wait at least a minute to let the Elasticsearch get fully restarted, otherwise testing will fail. Elastisearch should be now listen on 9200 for processing HTTP request, we can use CURL to get the response. Ensure that it returns with cluster name as “graylog2”&lt;br /&gt;
&lt;br /&gt;
 $ curl -X GET http://localhost:9200&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;status&amp;quot; : 200,&lt;br /&gt;
   &amp;quot;name&amp;quot; : &amp;quot;Pistol&amp;quot;,&lt;br /&gt;
   &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
   &amp;quot;version&amp;quot; : {&lt;br /&gt;
    &amp;quot;number&amp;quot; : &amp;quot;1.7.1&amp;quot;,&lt;br /&gt;
    &amp;quot;build_hash&amp;quot; : &amp;quot;b88f43fc40b0bcd7f173a1f9ee2e97816de80b19&amp;quot;,&lt;br /&gt;
    &amp;quot;build_timestamp&amp;quot; : &amp;quot;2015-07-29T09:54:16Z&amp;quot;,&lt;br /&gt;
    &amp;quot;build_snapshot&amp;quot; : false,&lt;br /&gt;
    &amp;quot;lucene_version&amp;quot; : &amp;quot;4.10.4&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;tagline&amp;quot; : &amp;quot;You Know, for Search&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Optional: Use the following command to check the Elasticsearch cluster health, you must get a cluster status as “green” for graylog to work.&lt;br /&gt;
&lt;br /&gt;
 $ curl -XGET &#039;http://localhost:9200/_cluster/health?pretty=true&#039;&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;status&amp;quot; : &amp;quot;&#039;&#039;&#039;green&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;timed_out&amp;quot; : false,&lt;br /&gt;
  &amp;quot;number_of_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;number_of_data_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;active_primary_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;active_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;relocating_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;initializing_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;delayed_unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_pending_tasks&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_in_flight_fetch&amp;quot; : 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MongoDB ===&lt;br /&gt;
&lt;br /&gt;
MongoDB is available in dep format and same can be downloaded from the official website. Add the following repository information on the system to install MongoDB. Before that we must import public key.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10&lt;br /&gt;
Add repository by creating the /etc/apt/sources.list.d/mongodb-org-3.0.list list file using the command.&lt;br /&gt;
&lt;br /&gt;
 $ echo &amp;quot;deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse&amp;quot; | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list&lt;br /&gt;
Update repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Install MongoDB using the following command.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install mongodb-org&lt;br /&gt;
Start the MongoDB service and enable it to start automatically during the system start-up.&lt;br /&gt;
&lt;br /&gt;
 $ sudo service mongod start&lt;br /&gt;
&lt;br /&gt;
 $ sudo ls -s /usr/bin/mongod /etc/init.d/mongod&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d mongod defaults&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Graylog2 ===&lt;br /&gt;
&lt;br /&gt;
Graylog-server accepts and process the log messages, also spawns the RESTAPI for the requests that comes from graylog-web-interface. Download the latest version of graylog from graylog.org,&lt;br /&gt;
&lt;br /&gt;
Use the following command to install graylog2 repository.&lt;br /&gt;
&lt;br /&gt;
 $ wget https://packages.graylog2.org/repo/packages/graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
&lt;br /&gt;
 $ sudo dpkg -i graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
Install https suppport and update the repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install apt-transport-https&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Install Graylog server using following command.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install graylog-server &lt;br /&gt;
Edit the server.conf file.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/graylog/server/server.conf&lt;br /&gt;
Configure the following variables in the above file.&lt;br /&gt;
&lt;br /&gt;
Set a secret to secure the user passwords, use the following command to generate a secret, use at least 64 character’s.&lt;br /&gt;
&lt;br /&gt;
 $ pwgen -N 1 -s 96&lt;br /&gt;
&lt;br /&gt;
 OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
If you get a “pwgen: command not found“, use the following command to install pwgen.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install pwgen&lt;br /&gt;
&lt;br /&gt;
Place the secret.&lt;br /&gt;
&lt;br /&gt;
 password_secret = OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
Next is to set a hash password for the root user (not to be confused with system user, root user of graylog is admin). You will use this password for login into the web interface, admin’s password can not be changed using web interface, must edit this variable to set.&lt;br /&gt;
&lt;br /&gt;
Replace “yourpassword” with the choice of your’s.&lt;br /&gt;
&lt;br /&gt;
 # echo -n yourpassword | sha256sum&lt;br /&gt;
&lt;br /&gt;
 e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
&lt;br /&gt;
Place the hash password.&lt;br /&gt;
&lt;br /&gt;
 root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
You can setup email address root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_email = &amp;quot;cyber.web@gmail.com&amp;quot;&lt;br /&gt;
Set timezone of root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_timezone = UTC&lt;br /&gt;
&lt;br /&gt;
Graylog will try to find the Elasticsearch nodes automatically, it uses multicast mode for the same. But when it comes to larger network, it is recommended to use unicast mode which is best suited one for production setups. So add the following two entries to graylog server.conf file, replace ipaddress with live hostname or ipaddress. Multiple hosts can be added with comma separated.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_http_enabled = false&lt;br /&gt;
 elasticsearch_discovery_zen_ping_unicast_hosts = ipaddress:9300&lt;br /&gt;
&lt;br /&gt;
Set only one master node by defining the below variable, default setting is true, you must set it as a false to make the particular node as a slave. Master node performs some periodic tasks that slave won’t perform.&lt;br /&gt;
&lt;br /&gt;
 is_master = true&lt;br /&gt;
&lt;br /&gt;
The following variable sets the number of log messages to keep per index, it is recommended to have several smaller indices instead of larger ones.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_docs_per_index = 20000000&lt;br /&gt;
The following parameter defines to have total number of indices, if the this number is reached old index will be deleted.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_number_of_indices = 20&lt;br /&gt;
Shards setting is really depends on the number of nodes in the Elasticsearch cluster, if you have only one node, set it as 1.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_shards = 1&lt;br /&gt;
The number of replicas for your indices, if you have only one node in Elasticsearch cluster; set it as 0.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_replicas = 0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Restart Graylog service.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 $ sudo service graylog-server restart&lt;br /&gt;
Enable auto start of graylog server service during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d graylog-server defaults&lt;br /&gt;
You can check out the server startup logs, it will be useful for you to troubleshoot graylog in case of any issue.&lt;br /&gt;
&lt;br /&gt;
 # tailf /var/log/graylog-server/server.log&lt;br /&gt;
On successful start of graylog-server, you should get the following message in the log file.&lt;br /&gt;
&lt;br /&gt;
 2015-09-17T09:35:22.895+02:00 INFO  [ServerBootstrap] Graylog server up and running.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Graylog web interface:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To configure graylog-web-interface, you must have at least one graylog-server node. Install Graylog web interface using “apt-get”.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install graylog-web&lt;br /&gt;
Edit the configuration file and set the following parameters.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/graylog/web/web.conf&lt;br /&gt;
This is the list of graylog-server nodes, you can add multiple nodes, separate by commas.&lt;br /&gt;
&lt;br /&gt;
 graylog2-server.uris=&amp;quot;http://127.0.0.1:12900/&amp;quot;&lt;br /&gt;
Set the application scret and can be generated using pwgen -N 1 -s 96.&lt;br /&gt;
&lt;br /&gt;
 application.secret=&amp;quot;sNXyFf6B4Au3GqSlZwq7En86xp10JimdxxYiLtpptOejX6tIUpUE4DGRJOrcMj07wcK0wugPaapvzEzCYinEWj7BOtHXVl5Z&amp;quot;&lt;br /&gt;
Set Web interface timezone.&lt;br /&gt;
&lt;br /&gt;
 Timezone=&amp;quot;Europe/Tallinn&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Restart the gralog-web-interface using following command,&lt;br /&gt;
&lt;br /&gt;
 $ sudo service graylog-web restart&lt;br /&gt;
Enable auto start of web interface service during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d graylog-web defaults&lt;br /&gt;
&lt;br /&gt;
= Experiences =&lt;br /&gt;
&lt;br /&gt;
In during installation time, we have found some problems which will impact on our your installation as well.&lt;br /&gt;
&lt;br /&gt;
- The version of Ubuntu and Graylog might conflict each other as well as Graylog&#039;s packages ( e.g : java )&lt;br /&gt;
&lt;br /&gt;
= Summary =&lt;br /&gt;
&lt;br /&gt;
During the installation Graylogs in both versions of Ubuntu ( 14.04 and 16.0 ). We realized that it had many differences between these versions. Listed above our objectives what we expect to achieve after installing and using Graylog, along with its useful information and its interaction between Administrator (users) with Graylog.&lt;br /&gt;
&lt;br /&gt;
its advantages:&lt;br /&gt;
 + Free.&lt;br /&gt;
 + Easy to interact with web interface.&lt;br /&gt;
 + Easy to install with the good support from its sources.&lt;br /&gt;
 + Help Administrator (user) to collect information in during logging and monitoring straightforwardly.&lt;br /&gt;
 + Many useful tools ( plugins ) which supports to work on.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;http://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/how-to-install-graylog2-on-ubuntu-14-04.html&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=107003</id>
		<title>Logging - Monitoring C21</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=107003"/>
		<updated>2016-10-13T08:09:15Z</updated>

		<summary type="html">&lt;p&gt;Akerge: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Logging and Monitoring with Graylog&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Course: Logging and Monitoring - Lecturer: Margus Ernits&lt;br /&gt;
&lt;br /&gt;
Group : Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Team members: Ender Phan, Kustas Kurval, Sheela Gowry Sumathi Raju, Artur Vincent Kerge&lt;br /&gt;
&lt;br /&gt;
Page created by : October 05, 2016&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In order to understand how to set up the Graylog service as well as understand its crucial roles. We decided to choose Graylog as our application for logging and monitoring. Below are our objectives which would be expected to achieve later on:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to install Graylog on Ubuntu 14.04.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to use Graylog to protect servers.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Upgrading and configuring Graylog at first, and know how to secure Graylog.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Threats and security during logging.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Installation Guide =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ubuntu 14.04&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Graylog_simple_setup_v2.png]]&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
Since the Elasticsearch is based on java, we would require to install either openJDK or Oracle JDK. It is recommended to install Oracle JDK, verify the java version by using the following command.&lt;br /&gt;
&lt;br /&gt;
Remove the OpenJDK from the system, if you have it already installed.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get remove --purge openjdk*&lt;br /&gt;
Add repository.&lt;br /&gt;
&lt;br /&gt;
 $ sudo add-apt-repository -y ppa:webupd8team/java&lt;br /&gt;
Run the following command to pull the packages information from the newly added repository.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Issue the following command to install Java jdk 1.8.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get -y install oracle-java8-installer&lt;br /&gt;
&lt;br /&gt;
 $ java -version&lt;br /&gt;
&lt;br /&gt;
 Java version &amp;quot;1.8.0_60&amp;quot;&lt;br /&gt;
 Java(TM) SE Runtime Environment (build 1.8.0_60-b27)&lt;br /&gt;
 Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)&lt;br /&gt;
 Install Elasticsearch:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let’s install the Elasticsearch, it can be downloaded from official website.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Download and install GPG signing key&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 $ sudo wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
Note that the -qO argument is lowercase Quebec followed by capital Oscar.&lt;br /&gt;
&lt;br /&gt;
Save the repository definition to /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
 $ echo &amp;quot;deb http://packages.elastic.co/elasticsearch/2.x/debian stable main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
Update repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
=== Installing extras ===&lt;br /&gt;
&lt;br /&gt;
==== Elasticsearch ====&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install elasticsearch&lt;br /&gt;
Configure Elasticsearch to start during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d elasticsearch defaults&lt;br /&gt;
The only important thing is to set a cluster name as “graylog2“, that is being used by graylog. Now edit the configuration file of Elasticsearch.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
&lt;br /&gt;
 cluster.name: graylog2&lt;br /&gt;
Disable dynamic scripts to avoid remote execution, that can be done by adding the following line at the end of above file.&lt;br /&gt;
&lt;br /&gt;
 script.disable_dynamic: true&lt;br /&gt;
Once it is done, we are good to go. Before that, restart the Elasticsearch services to load the modified configuration.&lt;br /&gt;
&lt;br /&gt;
 $ sudo service elasticsearch restart&lt;br /&gt;
Wait at least a minute to let the Elasticsearch get fully restarted, otherwise testing will fail. Elastisearch should be now listen on 9200 for processing HTTP request, we can use CURL to get the response. Ensure that it returns with cluster name as “graylog2”&lt;br /&gt;
&lt;br /&gt;
 $ curl -X GET http://localhost:9200&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;status&amp;quot; : 200,&lt;br /&gt;
   &amp;quot;name&amp;quot; : &amp;quot;Pistol&amp;quot;,&lt;br /&gt;
   &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
   &amp;quot;version&amp;quot; : {&lt;br /&gt;
    &amp;quot;number&amp;quot; : &amp;quot;1.7.1&amp;quot;,&lt;br /&gt;
    &amp;quot;build_hash&amp;quot; : &amp;quot;b88f43fc40b0bcd7f173a1f9ee2e97816de80b19&amp;quot;,&lt;br /&gt;
    &amp;quot;build_timestamp&amp;quot; : &amp;quot;2015-07-29T09:54:16Z&amp;quot;,&lt;br /&gt;
    &amp;quot;build_snapshot&amp;quot; : false,&lt;br /&gt;
    &amp;quot;lucene_version&amp;quot; : &amp;quot;4.10.4&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;tagline&amp;quot; : &amp;quot;You Know, for Search&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Optional: Use the following command to check the Elasticsearch cluster health, you must get a cluster status as “green” for graylog to work.&lt;br /&gt;
&lt;br /&gt;
 $ curl -XGET &#039;http://localhost:9200/_cluster/health?pretty=true&#039;&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;status&amp;quot; : &amp;quot;&#039;&#039;&#039;green&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;timed_out&amp;quot; : false,&lt;br /&gt;
  &amp;quot;number_of_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;number_of_data_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;active_primary_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;active_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;relocating_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;initializing_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;delayed_unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_pending_tasks&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_in_flight_fetch&amp;quot; : 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== MongoDB ====&lt;br /&gt;
&lt;br /&gt;
MongoDB is available in dep format and same can be downloaded from the official website. Add the following repository information on the system to install MongoDB. Before that we must import public key.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10&lt;br /&gt;
Add repository by creating the /etc/apt/sources.list.d/mongodb-org-3.0.list list file using the command.&lt;br /&gt;
&lt;br /&gt;
 $ echo &amp;quot;deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse&amp;quot; | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list&lt;br /&gt;
Update repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Install MongoDB using the following command.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install mongodb-org&lt;br /&gt;
Start the MongoDB service and enable it to start automatically during the system start-up.&lt;br /&gt;
&lt;br /&gt;
 $ sudo service mongod start&lt;br /&gt;
&lt;br /&gt;
 $ sudo ls -s /usr/bin/mongod /etc/init.d/mongod&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d mongod defaults&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Graylog2 ====&lt;br /&gt;
&lt;br /&gt;
Graylog-server accepts and process the log messages, also spawns the RESTAPI for the requests that comes from graylog-web-interface. Download the latest version of graylog from graylog.org,&lt;br /&gt;
&lt;br /&gt;
Use the following command to install graylog2 repository.&lt;br /&gt;
&lt;br /&gt;
 $ wget https://packages.graylog2.org/repo/packages/graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
&lt;br /&gt;
 $ sudo dpkg -i graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
Install https suppport and update the repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install apt-transport-https&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Install Graylog server using following command.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install graylog-server &lt;br /&gt;
Edit the server.conf file.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/graylog/server/server.conf&lt;br /&gt;
Configure the following variables in the above file.&lt;br /&gt;
&lt;br /&gt;
Set a secret to secure the user passwords, use the following command to generate a secret, use at least 64 character’s.&lt;br /&gt;
&lt;br /&gt;
 $ pwgen -N 1 -s 96&lt;br /&gt;
&lt;br /&gt;
 OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
If you get a “pwgen: command not found“, use the following command to install pwgen.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install pwgen&lt;br /&gt;
&lt;br /&gt;
Place the secret.&lt;br /&gt;
&lt;br /&gt;
 password_secret = OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
Next is to set a hash password for the root user (not to be confused with system user, root user of graylog is admin). You will use this password for login into the web interface, admin’s password can not be changed using web interface, must edit this variable to set.&lt;br /&gt;
&lt;br /&gt;
Replace “yourpassword” with the choice of your’s.&lt;br /&gt;
&lt;br /&gt;
 # echo -n yourpassword | sha256sum&lt;br /&gt;
&lt;br /&gt;
 e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
&lt;br /&gt;
Place the hash password.&lt;br /&gt;
&lt;br /&gt;
 root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
You can setup email address root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_email = &amp;quot;cyber.web@gmail.com&amp;quot;&lt;br /&gt;
Set timezone of root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_timezone = UTC&lt;br /&gt;
&lt;br /&gt;
Graylog will try to find the Elasticsearch nodes automatically, it uses multicast mode for the same. But when it comes to larger network, it is recommended to use unicast mode which is best suited one for production setups. So add the following two entries to graylog server.conf file, replace ipaddress with live hostname or ipaddress. Multiple hosts can be added with comma separated.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_http_enabled = false&lt;br /&gt;
 elasticsearch_discovery_zen_ping_unicast_hosts = ipaddress:9300&lt;br /&gt;
&lt;br /&gt;
Set only one master node by defining the below variable, default setting is true, you must set it as a false to make the particular node as a slave. Master node performs some periodic tasks that slave won’t perform.&lt;br /&gt;
&lt;br /&gt;
 is_master = true&lt;br /&gt;
&lt;br /&gt;
The following variable sets the number of log messages to keep per index, it is recommended to have several smaller indices instead of larger ones.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_docs_per_index = 20000000&lt;br /&gt;
The following parameter defines to have total number of indices, if the this number is reached old index will be deleted.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_number_of_indices = 20&lt;br /&gt;
Shards setting is really depends on the number of nodes in the Elasticsearch cluster, if you have only one node, set it as 1.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_shards = 1&lt;br /&gt;
The number of replicas for your indices, if you have only one node in Elasticsearch cluster; set it as 0.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_replicas = 0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Restart Graylog service.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 $ sudo service graylog-server restart&lt;br /&gt;
Enable auto start of graylog server service during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d graylog-server defaults&lt;br /&gt;
You can check out the server startup logs, it will be useful for you to troubleshoot graylog in case of any issue.&lt;br /&gt;
&lt;br /&gt;
 # tailf /var/log/graylog-server/server.log&lt;br /&gt;
On successful start of graylog-server, you should get the following message in the log file.&lt;br /&gt;
&lt;br /&gt;
 2015-09-17T09:35:22.895+02:00 INFO  [ServerBootstrap] Graylog server up and running.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Graylog web interface:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To configure graylog-web-interface, you must have at least one graylog-server node. Install Graylog web interface using “apt-get”.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install graylog-web&lt;br /&gt;
Edit the configuration file and set the following parameters.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/graylog/web/web.conf&lt;br /&gt;
This is the list of graylog-server nodes, you can add multiple nodes, separate by commas.&lt;br /&gt;
&lt;br /&gt;
 graylog2-server.uris=&amp;quot;http://127.0.0.1:12900/&amp;quot;&lt;br /&gt;
Set the application scret and can be generated using pwgen -N 1 -s 96.&lt;br /&gt;
&lt;br /&gt;
 application.secret=&amp;quot;sNXyFf6B4Au3GqSlZwq7En86xp10JimdxxYiLtpptOejX6tIUpUE4DGRJOrcMj07wcK0wugPaapvzEzCYinEWj7BOtHXVl5Z&amp;quot;&lt;br /&gt;
Set Web interface timezone.&lt;br /&gt;
&lt;br /&gt;
 Timezone=&amp;quot;Europe/Tallinn&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Restart the gralog-web-interface using following command,&lt;br /&gt;
&lt;br /&gt;
 $ sudo service graylog-web restart&lt;br /&gt;
Enable auto start of web interface service during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d graylog-web defaults&lt;br /&gt;
&lt;br /&gt;
= Experiences =&lt;br /&gt;
&lt;br /&gt;
In during installation time, we have found some problems which will impact on our your installation as well.&lt;br /&gt;
&lt;br /&gt;
- The version of Ubuntu and Graylog might conflict each other as well as Graylog&#039;s packages ( e.g : java )&lt;br /&gt;
&lt;br /&gt;
= Summary =&lt;br /&gt;
&lt;br /&gt;
During the installation Graylogs in both versions of Ubuntu ( 14.04 and 16.0 ). We realized that it had many differences between these versions. Listed above our objectives what we expect to achieve after installing and using Graylog, along with its useful information and its interaction between Administrator (users) with Graylog.&lt;br /&gt;
&lt;br /&gt;
its advantages:&lt;br /&gt;
 + Free.&lt;br /&gt;
 + Easy to interact with web interface.&lt;br /&gt;
 + Easy to install with the good support from its sources.&lt;br /&gt;
 + Help Administrator (user) to collect information in during logging and monitoring straightforwardly.&lt;br /&gt;
 + Many useful tools ( plugins ) which supports to work on.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;http://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/how-to-install-graylog2-on-ubuntu-14-04.html&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=107002</id>
		<title>Logging - Monitoring C21</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=107002"/>
		<updated>2016-10-13T08:08:11Z</updated>

		<summary type="html">&lt;p&gt;Akerge: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Logging and Monitoring with Graylog&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Course: Logging and Monitoring - Lecturer: Margus Ernits&lt;br /&gt;
&lt;br /&gt;
Group : Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Team members: Ender Phan, Kustas Kurval, Sheela Gowry Sumathi Raju, Artur Vincent Kerge&lt;br /&gt;
&lt;br /&gt;
Page created by : October 05, 2016&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In order to understand how to set up the Graylog service as well as understand its crucial roles. We decided to choose Graylog as our application for logging and monitoring. Below are our objectives which would be expected to achieve later on:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to install Graylog on Ubuntu 14.04.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to use Graylog to protect servers.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Upgrading and configuring Graylog at first, and know how to secure Graylog.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Threats and security during logging.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Installation Guide =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ubuntu 14.04&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Graylog_simple_setup_v2.png]]&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
Since the Elasticsearch is based on java, we would require to install either openJDK or Oracle JDK. It is recommended to install Oracle JDK, verify the java version by using the following command.&lt;br /&gt;
&lt;br /&gt;
Remove the OpenJDK from the system, if you have it already installed.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get remove --purge openjdk*&lt;br /&gt;
Add repository.&lt;br /&gt;
&lt;br /&gt;
 $ sudo add-apt-repository -y ppa:webupd8team/java&lt;br /&gt;
Run the following command to pull the packages information from the newly added repository.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Issue the following command to install Java jdk 1.8.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get -y install oracle-java8-installer&lt;br /&gt;
&lt;br /&gt;
 $ java -version&lt;br /&gt;
&lt;br /&gt;
 Java version &amp;quot;1.8.0_60&amp;quot;&lt;br /&gt;
 Java(TM) SE Runtime Environment (build 1.8.0_60-b27)&lt;br /&gt;
 Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)&lt;br /&gt;
 Install Elasticsearch:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let’s install the Elasticsearch, it can be downloaded from official website.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Download and install GPG signing key&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 $ sudo wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
Note that the -qO argument is lowercase Quebec followed by capital Oscar.&lt;br /&gt;
&lt;br /&gt;
Save the repository definition to /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
 $ echo &amp;quot;deb http://packages.elastic.co/elasticsearch/2.x/debian stable main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
Update repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
=== Installing extras ===&lt;br /&gt;
&lt;br /&gt;
==== Elasticsearch ====&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install elasticsearch&lt;br /&gt;
Configure Elasticsearch to start during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d elasticsearch defaults&lt;br /&gt;
The only important thing is to set a cluster name as “graylog2“, that is being used by graylog. Now edit the configuration file of Elasticsearch.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
&lt;br /&gt;
 cluster.name: graylog2&lt;br /&gt;
Disable dynamic scripts to avoid remote execution, that can be done by adding the following line at the end of above file.&lt;br /&gt;
&lt;br /&gt;
 script.disable_dynamic: true&lt;br /&gt;
Once it is done, we are good to go. Before that, restart the Elasticsearch services to load the modified configuration.&lt;br /&gt;
&lt;br /&gt;
 $ sudo service elasticsearch restart&lt;br /&gt;
Wait at least a minute to let the Elasticsearch get fully restarted, otherwise testing will fail. Elastisearch should be now listen on 9200 for processing HTTP request, we can use CURL to get the response. Ensure that it returns with cluster name as “graylog2”&lt;br /&gt;
&lt;br /&gt;
 $ curl -X GET http://localhost:9200&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;status&amp;quot; : 200,&lt;br /&gt;
   &amp;quot;name&amp;quot; : &amp;quot;Pistol&amp;quot;,&lt;br /&gt;
   &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
   &amp;quot;version&amp;quot; : {&lt;br /&gt;
    &amp;quot;number&amp;quot; : &amp;quot;1.7.1&amp;quot;,&lt;br /&gt;
    &amp;quot;build_hash&amp;quot; : &amp;quot;b88f43fc40b0bcd7f173a1f9ee2e97816de80b19&amp;quot;,&lt;br /&gt;
    &amp;quot;build_timestamp&amp;quot; : &amp;quot;2015-07-29T09:54:16Z&amp;quot;,&lt;br /&gt;
    &amp;quot;build_snapshot&amp;quot; : false,&lt;br /&gt;
    &amp;quot;lucene_version&amp;quot; : &amp;quot;4.10.4&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;tagline&amp;quot; : &amp;quot;You Know, for Search&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Optional: Use the following command to check the Elasticsearch cluster health, you must get a cluster status as “green” for graylog to work.&lt;br /&gt;
&lt;br /&gt;
 $ curl -XGET &#039;http://localhost:9200/_cluster/health?pretty=true&#039;&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;status&amp;quot; : &amp;quot;&#039;&#039;&#039;green&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;timed_out&amp;quot; : false,&lt;br /&gt;
  &amp;quot;number_of_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;number_of_data_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;active_primary_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;active_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;relocating_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;initializing_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;delayed_unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_pending_tasks&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_in_flight_fetch&amp;quot; : 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== MongoDB ====&lt;br /&gt;
&lt;br /&gt;
MongoDB is available in dep format and same can be downloaded from the official website. Add the following repository information on the system to install MongoDB. Before that we must import public key.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10&lt;br /&gt;
Add repository by creating the /etc/apt/sources.list.d/mongodb-org-3.0.list list file using the command.&lt;br /&gt;
&lt;br /&gt;
 $ echo &amp;quot;deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse&amp;quot; | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list&lt;br /&gt;
Update repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Install MongoDB using the following command.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install mongodb-org&lt;br /&gt;
Start the MongoDB service and enable it to start automatically during the system start-up.&lt;br /&gt;
&lt;br /&gt;
 $ sudo service mongod start&lt;br /&gt;
&lt;br /&gt;
 $ sudo ls -s /usr/bin/mongod /etc/init.d/mongod&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d mongod defaults&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Install Graylog2 ====&lt;br /&gt;
&lt;br /&gt;
Graylog-server accepts and process the log messages, also spawns the RESTAPI for the requests that comes from graylog-web-interface. Download the latest version of graylog from graylog.org,&lt;br /&gt;
&lt;br /&gt;
Use the following command to install graylog2 repository.&lt;br /&gt;
&lt;br /&gt;
 $ wget https://packages.graylog2.org/repo/packages/graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
&lt;br /&gt;
 $ sudo dpkg -i graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
Install https suppport and update the repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install apt-transport-https&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Install Graylog server using following command.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install graylog-server &lt;br /&gt;
Edit the server.conf file.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/graylog/server/server.conf&lt;br /&gt;
Configure the following variables in the above file.&lt;br /&gt;
&lt;br /&gt;
Set a secret to secure the user passwords, use the following command to generate a secret, use at least 64 character’s.&lt;br /&gt;
&lt;br /&gt;
 $ pwgen -N 1 -s 96&lt;br /&gt;
&lt;br /&gt;
 OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
If you get a “pwgen: command not found“, use the following command to install pwgen.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install pwgen&lt;br /&gt;
&lt;br /&gt;
Place the secret.&lt;br /&gt;
&lt;br /&gt;
 password_secret = OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
Next is to set a hash password for the root user (not to be confused with system user, root user of graylog is admin). You will use this password for login into the web interface, admin’s password can not be changed using web interface, must edit this variable to set.&lt;br /&gt;
&lt;br /&gt;
Replace “yourpassword” with the choice of your’s.&lt;br /&gt;
&lt;br /&gt;
 # echo -n yourpassword | sha256sum&lt;br /&gt;
&lt;br /&gt;
 e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
&lt;br /&gt;
Place the hash password.&lt;br /&gt;
&lt;br /&gt;
 root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
You can setup email address root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_email = &amp;quot;cyber.web@gmail.com&amp;quot;&lt;br /&gt;
Set timezone of root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_timezone = UTC&lt;br /&gt;
&lt;br /&gt;
Graylog will try to find the Elasticsearch nodes automatically, it uses multicast mode for the same. But when it comes to larger network, it is recommended to use unicast mode which is best suited one for production setups. So add the following two entries to graylog server.conf file, replace ipaddress with live hostname or ipaddress. Multiple hosts can be added with comma separated.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_http_enabled = false&lt;br /&gt;
 elasticsearch_discovery_zen_ping_unicast_hosts = ipaddress:9300&lt;br /&gt;
&lt;br /&gt;
Set only one master node by defining the below variable, default setting is true, you must set it as a false to make the particular node as a slave. Master node performs some periodic tasks that slave won’t perform.&lt;br /&gt;
&lt;br /&gt;
 is_master = true&lt;br /&gt;
&lt;br /&gt;
The following variable sets the number of log messages to keep per index, it is recommended to have several smaller indices instead of larger ones.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_docs_per_index = 20000000&lt;br /&gt;
The following parameter defines to have total number of indices, if the this number is reached old index will be deleted.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_number_of_indices = 20&lt;br /&gt;
Shards setting is really depends on the number of nodes in the Elasticsearch cluster, if you have only one node, set it as 1.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_shards = 1&lt;br /&gt;
The number of replicas for your indices, if you have only one node in Elasticsearch cluster; set it as 0.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_replicas = 0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Restart Graylog service.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 $ sudo service graylog-server restart&lt;br /&gt;
Enable auto start of graylog server service during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d graylog-server defaults&lt;br /&gt;
You can check out the server startup logs, it will be useful for you to troubleshoot graylog in case of any issue.&lt;br /&gt;
&lt;br /&gt;
 # tailf /var/log/graylog-server/server.log&lt;br /&gt;
On successful start of graylog-server, you should get the following message in the log file.&lt;br /&gt;
&lt;br /&gt;
 2015-09-17T09:35:22.895+02:00 INFO  [ServerBootstrap] Graylog server up and running.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Graylog web interface:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To configure graylog-web-interface, you must have at least one graylog-server node. Install Graylog web interface using “apt-get”.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install graylog-web&lt;br /&gt;
Edit the configuration file and set the following parameters.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/graylog/web/web.conf&lt;br /&gt;
This is the list of graylog-server nodes, you can add multiple nodes, separate by commas.&lt;br /&gt;
&lt;br /&gt;
 graylog2-server.uris=&amp;quot;http://127.0.0.1:12900/&amp;quot;&lt;br /&gt;
Set the application scret and can be generated using pwgen -N 1 -s 96.&lt;br /&gt;
&lt;br /&gt;
 application.secret=&amp;quot;sNXyFf6B4Au3GqSlZwq7En86xp10JimdxxYiLtpptOejX6tIUpUE4DGRJOrcMj07wcK0wugPaapvzEzCYinEWj7BOtHXVl5Z&amp;quot;&lt;br /&gt;
Set Web interface timezone.&lt;br /&gt;
&lt;br /&gt;
 Timezone=&amp;quot;Europe/Tallinn&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Restart the gralog-web-interface using following command,&lt;br /&gt;
&lt;br /&gt;
 $ sudo service graylog-web restart&lt;br /&gt;
Enable auto start of web interface service during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d graylog-web defaults&lt;br /&gt;
&lt;br /&gt;
= Experiences =&lt;br /&gt;
&lt;br /&gt;
In during installation time, we have found some problems which will impact on our your installation as well.&lt;br /&gt;
&lt;br /&gt;
- The version of Ubuntu and Graylog might conflict each other as well as Graylog&#039;s packages ( e.g : java )&lt;br /&gt;
&lt;br /&gt;
= Summary =&lt;br /&gt;
&lt;br /&gt;
During the installation Graylogs in both versions of Ubuntu ( 14.04 and 16.0 ). We realized that it had many differences between these versions. Listed above our objectives what we expect to achieve after installing and using Graylog, along with its useful information and its interaction between Administrator (users) with Graylog.&lt;br /&gt;
&lt;br /&gt;
its advantages:&lt;br /&gt;
 + Free.&lt;br /&gt;
 + Easy to interact with web interface.&lt;br /&gt;
 + Easy to install with the good support from its sources.&lt;br /&gt;
 + Help Administrator (user) to collect information in during logging and monitoring straightforwardly.&lt;br /&gt;
 + Many useful tools ( plugins ) which supports to work on.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;http://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/how-to-install-graylog2-on-ubuntu-14-04.html&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=107001</id>
		<title>Logging - Monitoring C21</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=107001"/>
		<updated>2016-10-13T08:05:53Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* Abstract */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Logging and Monitoring with Graylog&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Course: Logging and Monitoring - Lecturer: Margus Ernits&lt;br /&gt;
&lt;br /&gt;
Group : Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Team members: Ender Phan, Kustas Kurval, Sheela Gowry Sumathi Raju, Artur Vincent Kerge&lt;br /&gt;
&lt;br /&gt;
Page created by : October 05, 2016&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In order to understand how to set up the Graylog service as well as understand its crucial roles. We decided to choose Graylog as our application for logging and monitoring. Below are our objectives which would be expected to achieve later on:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to install Graylog on Ubuntu 14.04.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How to use Graylog to protect servers.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Upgrading and configuring Graylog at first, and know how to secure Graylog.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Threats and security during logging.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Installation Guide =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ubuntu 14.04&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Graylog_simple_setup_v2.png]]&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
Since the Elasticsearch is based on java, we would require to install either openJDK or Oracle JDK. It is recommended to install Oracle JDK, verify the java version by using the following command.&lt;br /&gt;
&lt;br /&gt;
Remove the OpenJDK from the system, if you have it already installed.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get remove --purge openjdk*&lt;br /&gt;
Add repository.&lt;br /&gt;
&lt;br /&gt;
 $ sudo add-apt-repository -y ppa:webupd8team/java&lt;br /&gt;
Run the following command to pull the packages information from the newly added repository.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Issue the following command to install Java jdk 1.8.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get -y install oracle-java8-installer&lt;br /&gt;
&lt;br /&gt;
 $ java -version&lt;br /&gt;
&lt;br /&gt;
 Java version &amp;quot;1.8.0_60&amp;quot;&lt;br /&gt;
 Java(TM) SE Runtime Environment (build 1.8.0_60-b27)&lt;br /&gt;
 Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)&lt;br /&gt;
 Install Elasticsearch:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let’s install the Elasticsearch, it can be downloaded from official website.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Download and install GPG signing key&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 $ sudo wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
Note that the -qO argument is lowercase Quebec followed by capital Oscar.&lt;br /&gt;
&lt;br /&gt;
Save the repository definition to /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
 $ echo &amp;quot;deb http://packages.elastic.co/elasticsearch/2.x/debian stable main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
Update repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Elasticsearch.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install elasticsearch&lt;br /&gt;
Configure Elasticsearch to start during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d elasticsearch defaults&lt;br /&gt;
The only important thing is to set a cluster name as “graylog2“, that is being used by graylog. Now edit the configuration file of Elasticsearch.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
&lt;br /&gt;
 cluster.name: graylog2&lt;br /&gt;
Disable dynamic scripts to avoid remote execution, that can be done by adding the following line at the end of above file.&lt;br /&gt;
&lt;br /&gt;
 script.disable_dynamic: true&lt;br /&gt;
Once it is done, we are good to go. Before that, restart the Elasticsearch services to load the modified configuration.&lt;br /&gt;
&lt;br /&gt;
 $ sudo service elasticsearch restart&lt;br /&gt;
Wait at least a minute to let the Elasticsearch get fully restarted, otherwise testing will fail. Elastisearch should be now listen on 9200 for processing HTTP request, we can use CURL to get the response. Ensure that it returns with cluster name as “graylog2”&lt;br /&gt;
&lt;br /&gt;
 $ curl -X GET http://localhost:9200&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;status&amp;quot; : 200,&lt;br /&gt;
   &amp;quot;name&amp;quot; : &amp;quot;Pistol&amp;quot;,&lt;br /&gt;
   &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
   &amp;quot;version&amp;quot; : {&lt;br /&gt;
    &amp;quot;number&amp;quot; : &amp;quot;1.7.1&amp;quot;,&lt;br /&gt;
    &amp;quot;build_hash&amp;quot; : &amp;quot;b88f43fc40b0bcd7f173a1f9ee2e97816de80b19&amp;quot;,&lt;br /&gt;
    &amp;quot;build_timestamp&amp;quot; : &amp;quot;2015-07-29T09:54:16Z&amp;quot;,&lt;br /&gt;
    &amp;quot;build_snapshot&amp;quot; : false,&lt;br /&gt;
    &amp;quot;lucene_version&amp;quot; : &amp;quot;4.10.4&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;tagline&amp;quot; : &amp;quot;You Know, for Search&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Optional: Use the following command to check the Elasticsearch cluster health, you must get a cluster status as “green” for graylog to work.&lt;br /&gt;
&lt;br /&gt;
 $ curl -XGET &#039;http://localhost:9200/_cluster/health?pretty=true&#039;&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;status&amp;quot; : &amp;quot;&#039;&#039;&#039;green&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;timed_out&amp;quot; : false,&lt;br /&gt;
  &amp;quot;number_of_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;number_of_data_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;active_primary_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;active_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;relocating_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;initializing_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;delayed_unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_pending_tasks&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_in_flight_fetch&amp;quot; : 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install MongoDB:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
MongoDB is available in dep format and same can be downloaded from the official website. Add the following repository information on the system to install MongoDB. Before that we must import public key.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10&lt;br /&gt;
Add repository by creating the /etc/apt/sources.list.d/mongodb-org-3.0.list list file using the command.&lt;br /&gt;
&lt;br /&gt;
 $ echo &amp;quot;deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse&amp;quot; | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list&lt;br /&gt;
Update repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Install MongoDB using the following command.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install mongodb-org&lt;br /&gt;
Start the MongoDB service and enable it to start automatically during the system start-up.&lt;br /&gt;
&lt;br /&gt;
 $ sudo service mongod start&lt;br /&gt;
&lt;br /&gt;
 $ sudo ls -s /usr/bin/mongod /etc/init.d/mongod&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d mongod defaults&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Graylog2:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Graylog-server accepts and process the log messages, also spawns the RESTAPI for the requests that comes from graylog-web-interface. Download the latest version of graylog from graylog.org,&lt;br /&gt;
&lt;br /&gt;
Use the following command to install graylog2 repository.&lt;br /&gt;
&lt;br /&gt;
 $ wget https://packages.graylog2.org/repo/packages/graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
&lt;br /&gt;
 $ sudo dpkg -i graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
Install https suppport and update the repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install apt-transport-https&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Install Graylog server using following command.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install graylog-server &lt;br /&gt;
Edit the server.conf file.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/graylog/server/server.conf&lt;br /&gt;
Configure the following variables in the above file.&lt;br /&gt;
&lt;br /&gt;
Set a secret to secure the user passwords, use the following command to generate a secret, use at least 64 character’s.&lt;br /&gt;
&lt;br /&gt;
 $ pwgen -N 1 -s 96&lt;br /&gt;
&lt;br /&gt;
 OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
If you get a “pwgen: command not found“, use the following command to install pwgen.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install pwgen&lt;br /&gt;
&lt;br /&gt;
Place the secret.&lt;br /&gt;
&lt;br /&gt;
 password_secret = OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
Next is to set a hash password for the root user (not to be confused with system user, root user of graylog is admin). You will use this password for login into the web interface, admin’s password can not be changed using web interface, must edit this variable to set.&lt;br /&gt;
&lt;br /&gt;
Replace “yourpassword” with the choice of your’s.&lt;br /&gt;
&lt;br /&gt;
 # echo -n yourpassword | sha256sum&lt;br /&gt;
&lt;br /&gt;
 e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
&lt;br /&gt;
Place the hash password.&lt;br /&gt;
&lt;br /&gt;
 root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
You can setup email address root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_email = &amp;quot;cyber.web@gmail.com&amp;quot;&lt;br /&gt;
Set timezone of root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_timezone = UTC&lt;br /&gt;
&lt;br /&gt;
Graylog will try to find the Elasticsearch nodes automatically, it uses multicast mode for the same. But when it comes to larger network, it is recommended to use unicast mode which is best suited one for production setups. So add the following two entries to graylog server.conf file, replace ipaddress with live hostname or ipaddress. Multiple hosts can be added with comma separated.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_http_enabled = false&lt;br /&gt;
 elasticsearch_discovery_zen_ping_unicast_hosts = ipaddress:9300&lt;br /&gt;
&lt;br /&gt;
Set only one master node by defining the below variable, default setting is true, you must set it as a false to make the particular node as a slave. Master node performs some periodic tasks that slave won’t perform.&lt;br /&gt;
&lt;br /&gt;
 is_master = true&lt;br /&gt;
&lt;br /&gt;
The following variable sets the number of log messages to keep per index, it is recommended to have several smaller indices instead of larger ones.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_docs_per_index = 20000000&lt;br /&gt;
The following parameter defines to have total number of indices, if the this number is reached old index will be deleted.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_number_of_indices = 20&lt;br /&gt;
Shards setting is really depends on the number of nodes in the Elasticsearch cluster, if you have only one node, set it as 1.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_shards = 1&lt;br /&gt;
The number of replicas for your indices, if you have only one node in Elasticsearch cluster; set it as 0.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_replicas = 0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Restart Graylog service.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 $ sudo service graylog-server restart&lt;br /&gt;
Enable auto start of graylog server service during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d graylog-server defaults&lt;br /&gt;
You can check out the server startup logs, it will be useful for you to troubleshoot graylog in case of any issue.&lt;br /&gt;
&lt;br /&gt;
 # tailf /var/log/graylog-server/server.log&lt;br /&gt;
On successful start of graylog-server, you should get the following message in the log file.&lt;br /&gt;
&lt;br /&gt;
 2015-09-17T09:35:22.895+02:00 INFO  [ServerBootstrap] Graylog server up and running.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Graylog web interface:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To configure graylog-web-interface, you must have at least one graylog-server node. Install Graylog web interface using “apt-get”.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install graylog-web&lt;br /&gt;
Edit the configuration file and set the following parameters.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/graylog/web/web.conf&lt;br /&gt;
This is the list of graylog-server nodes, you can add multiple nodes, separate by commas.&lt;br /&gt;
&lt;br /&gt;
 graylog2-server.uris=&amp;quot;http://127.0.0.1:12900/&amp;quot;&lt;br /&gt;
Set the application scret and can be generated using pwgen -N 1 -s 96.&lt;br /&gt;
&lt;br /&gt;
 application.secret=&amp;quot;sNXyFf6B4Au3GqSlZwq7En86xp10JimdxxYiLtpptOejX6tIUpUE4DGRJOrcMj07wcK0wugPaapvzEzCYinEWj7BOtHXVl5Z&amp;quot;&lt;br /&gt;
Set Web interface timezone.&lt;br /&gt;
&lt;br /&gt;
 Timezone=&amp;quot;Europe/Tallinn&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Restart the gralog-web-interface using following command,&lt;br /&gt;
&lt;br /&gt;
 $ sudo service graylog-web restart&lt;br /&gt;
Enable auto start of web interface service during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d graylog-web defaults&lt;br /&gt;
&lt;br /&gt;
= Experiences =&lt;br /&gt;
&lt;br /&gt;
In during installation time, we have found some problems which will impact on our your installation as well.&lt;br /&gt;
&lt;br /&gt;
- The version of Ubuntu and Graylog might conflict each other as well as Graylog&#039;s packages ( e.g : java )&lt;br /&gt;
&lt;br /&gt;
= Summary =&lt;br /&gt;
&lt;br /&gt;
During the installation Graylogs in both versions of Ubuntu ( 14.04 and 16.0 ). We realized that it had many differences between these versions. Listed above our objectives what we expect to achieve after installing and using Graylog, along with its useful information and its interaction between Administrator (users) with Graylog.&lt;br /&gt;
&lt;br /&gt;
its advantages:&lt;br /&gt;
 + Free.&lt;br /&gt;
 + Easy to interact with web interface.&lt;br /&gt;
 + Easy to install with the good support from its sources.&lt;br /&gt;
 + Help Administrator (user) to collect information in during logging and monitoring straightforwardly.&lt;br /&gt;
 + Many useful tools ( plugins ) which supports to work on.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;http://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/how-to-install-graylog2-on-ubuntu-14-04.html&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=107000</id>
		<title>Logging - Monitoring C21</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=107000"/>
		<updated>2016-10-13T08:04:22Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* Installation Guide */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Logging and Monitoring with Graylog&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Course: Logging and Monitoring - Lecturer: Margus Ernits&lt;br /&gt;
&lt;br /&gt;
Group : Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Team members: Ender Phan, Kustas Kurval, Sheela Gowry Sumathi Raju, Artur Vincent Kerge&lt;br /&gt;
&lt;br /&gt;
Page created by : October 05, 2016&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In order to understand how to set up the Graylog service as well as understand its crucial roles. We decided to choose Graylog as our application for Logging and Monitoring. Below are our objectives which would be expected to achieve later on:&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;How to install Graylog on Ubuntu 14.04.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;How to use Graylog to protect servers.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Upgrading and configure Graylog at first, and know how to secure Graylog.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Threats and Securing during logging.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Installation Guide =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ubuntu 14.04&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Graylog_simple_setup_v2.png]]&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
Since the Elasticsearch is based on java, we would require to install either openJDK or Oracle JDK. It is recommended to install Oracle JDK, verify the java version by using the following command.&lt;br /&gt;
&lt;br /&gt;
Remove the OpenJDK from the system, if you have it already installed.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get remove --purge openjdk*&lt;br /&gt;
Add repository.&lt;br /&gt;
&lt;br /&gt;
 $ sudo add-apt-repository -y ppa:webupd8team/java&lt;br /&gt;
Run the following command to pull the packages information from the newly added repository.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Issue the following command to install Java jdk 1.8.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get -y install oracle-java8-installer&lt;br /&gt;
&lt;br /&gt;
 $ java -version&lt;br /&gt;
&lt;br /&gt;
 Java version &amp;quot;1.8.0_60&amp;quot;&lt;br /&gt;
 Java(TM) SE Runtime Environment (build 1.8.0_60-b27)&lt;br /&gt;
 Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)&lt;br /&gt;
 Install Elasticsearch:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let’s install the Elasticsearch, it can be downloaded from official website.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Download and install GPG signing key&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 $ sudo wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
Note that the -qO argument is lowercase Quebec followed by capital Oscar.&lt;br /&gt;
&lt;br /&gt;
Save the repository definition to /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
 $ echo &amp;quot;deb http://packages.elastic.co/elasticsearch/2.x/debian stable main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
Update repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Elasticsearch.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install elasticsearch&lt;br /&gt;
Configure Elasticsearch to start during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d elasticsearch defaults&lt;br /&gt;
The only important thing is to set a cluster name as “graylog2“, that is being used by graylog. Now edit the configuration file of Elasticsearch.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
&lt;br /&gt;
 cluster.name: graylog2&lt;br /&gt;
Disable dynamic scripts to avoid remote execution, that can be done by adding the following line at the end of above file.&lt;br /&gt;
&lt;br /&gt;
 script.disable_dynamic: true&lt;br /&gt;
Once it is done, we are good to go. Before that, restart the Elasticsearch services to load the modified configuration.&lt;br /&gt;
&lt;br /&gt;
 $ sudo service elasticsearch restart&lt;br /&gt;
Wait at least a minute to let the Elasticsearch get fully restarted, otherwise testing will fail. Elastisearch should be now listen on 9200 for processing HTTP request, we can use CURL to get the response. Ensure that it returns with cluster name as “graylog2”&lt;br /&gt;
&lt;br /&gt;
 $ curl -X GET http://localhost:9200&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;status&amp;quot; : 200,&lt;br /&gt;
   &amp;quot;name&amp;quot; : &amp;quot;Pistol&amp;quot;,&lt;br /&gt;
   &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
   &amp;quot;version&amp;quot; : {&lt;br /&gt;
    &amp;quot;number&amp;quot; : &amp;quot;1.7.1&amp;quot;,&lt;br /&gt;
    &amp;quot;build_hash&amp;quot; : &amp;quot;b88f43fc40b0bcd7f173a1f9ee2e97816de80b19&amp;quot;,&lt;br /&gt;
    &amp;quot;build_timestamp&amp;quot; : &amp;quot;2015-07-29T09:54:16Z&amp;quot;,&lt;br /&gt;
    &amp;quot;build_snapshot&amp;quot; : false,&lt;br /&gt;
    &amp;quot;lucene_version&amp;quot; : &amp;quot;4.10.4&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;tagline&amp;quot; : &amp;quot;You Know, for Search&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Optional: Use the following command to check the Elasticsearch cluster health, you must get a cluster status as “green” for graylog to work.&lt;br /&gt;
&lt;br /&gt;
 $ curl -XGET &#039;http://localhost:9200/_cluster/health?pretty=true&#039;&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;status&amp;quot; : &amp;quot;&#039;&#039;&#039;green&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;timed_out&amp;quot; : false,&lt;br /&gt;
  &amp;quot;number_of_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;number_of_data_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;active_primary_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;active_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;relocating_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;initializing_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;delayed_unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_pending_tasks&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_in_flight_fetch&amp;quot; : 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install MongoDB:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
MongoDB is available in dep format and same can be downloaded from the official website. Add the following repository information on the system to install MongoDB. Before that we must import public key.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10&lt;br /&gt;
Add repository by creating the /etc/apt/sources.list.d/mongodb-org-3.0.list list file using the command.&lt;br /&gt;
&lt;br /&gt;
 $ echo &amp;quot;deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse&amp;quot; | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list&lt;br /&gt;
Update repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Install MongoDB using the following command.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install mongodb-org&lt;br /&gt;
Start the MongoDB service and enable it to start automatically during the system start-up.&lt;br /&gt;
&lt;br /&gt;
 $ sudo service mongod start&lt;br /&gt;
&lt;br /&gt;
 $ sudo ls -s /usr/bin/mongod /etc/init.d/mongod&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d mongod defaults&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Graylog2:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Graylog-server accepts and process the log messages, also spawns the RESTAPI for the requests that comes from graylog-web-interface. Download the latest version of graylog from graylog.org,&lt;br /&gt;
&lt;br /&gt;
Use the following command to install graylog2 repository.&lt;br /&gt;
&lt;br /&gt;
 $ wget https://packages.graylog2.org/repo/packages/graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
&lt;br /&gt;
 $ sudo dpkg -i graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
Install https suppport and update the repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install apt-transport-https&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Install Graylog server using following command.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install graylog-server &lt;br /&gt;
Edit the server.conf file.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/graylog/server/server.conf&lt;br /&gt;
Configure the following variables in the above file.&lt;br /&gt;
&lt;br /&gt;
Set a secret to secure the user passwords, use the following command to generate a secret, use at least 64 character’s.&lt;br /&gt;
&lt;br /&gt;
 $ pwgen -N 1 -s 96&lt;br /&gt;
&lt;br /&gt;
 OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
If you get a “pwgen: command not found“, use the following command to install pwgen.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install pwgen&lt;br /&gt;
&lt;br /&gt;
Place the secret.&lt;br /&gt;
&lt;br /&gt;
 password_secret = OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
Next is to set a hash password for the root user (not to be confused with system user, root user of graylog is admin). You will use this password for login into the web interface, admin’s password can not be changed using web interface, must edit this variable to set.&lt;br /&gt;
&lt;br /&gt;
Replace “yourpassword” with the choice of your’s.&lt;br /&gt;
&lt;br /&gt;
 # echo -n yourpassword | sha256sum&lt;br /&gt;
&lt;br /&gt;
 e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
&lt;br /&gt;
Place the hash password.&lt;br /&gt;
&lt;br /&gt;
 root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
You can setup email address root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_email = &amp;quot;cyber.web@gmail.com&amp;quot;&lt;br /&gt;
Set timezone of root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_timezone = UTC&lt;br /&gt;
&lt;br /&gt;
Graylog will try to find the Elasticsearch nodes automatically, it uses multicast mode for the same. But when it comes to larger network, it is recommended to use unicast mode which is best suited one for production setups. So add the following two entries to graylog server.conf file, replace ipaddress with live hostname or ipaddress. Multiple hosts can be added with comma separated.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_http_enabled = false&lt;br /&gt;
 elasticsearch_discovery_zen_ping_unicast_hosts = ipaddress:9300&lt;br /&gt;
&lt;br /&gt;
Set only one master node by defining the below variable, default setting is true, you must set it as a false to make the particular node as a slave. Master node performs some periodic tasks that slave won’t perform.&lt;br /&gt;
&lt;br /&gt;
 is_master = true&lt;br /&gt;
&lt;br /&gt;
The following variable sets the number of log messages to keep per index, it is recommended to have several smaller indices instead of larger ones.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_docs_per_index = 20000000&lt;br /&gt;
The following parameter defines to have total number of indices, if the this number is reached old index will be deleted.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_number_of_indices = 20&lt;br /&gt;
Shards setting is really depends on the number of nodes in the Elasticsearch cluster, if you have only one node, set it as 1.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_shards = 1&lt;br /&gt;
The number of replicas for your indices, if you have only one node in Elasticsearch cluster; set it as 0.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_replicas = 0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Restart Graylog service.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 $ sudo service graylog-server restart&lt;br /&gt;
Enable auto start of graylog server service during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d graylog-server defaults&lt;br /&gt;
You can check out the server startup logs, it will be useful for you to troubleshoot graylog in case of any issue.&lt;br /&gt;
&lt;br /&gt;
 # tailf /var/log/graylog-server/server.log&lt;br /&gt;
On successful start of graylog-server, you should get the following message in the log file.&lt;br /&gt;
&lt;br /&gt;
 2015-09-17T09:35:22.895+02:00 INFO  [ServerBootstrap] Graylog server up and running.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Graylog web interface:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To configure graylog-web-interface, you must have at least one graylog-server node. Install Graylog web interface using “apt-get”.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install graylog-web&lt;br /&gt;
Edit the configuration file and set the following parameters.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/graylog/web/web.conf&lt;br /&gt;
This is the list of graylog-server nodes, you can add multiple nodes, separate by commas.&lt;br /&gt;
&lt;br /&gt;
 graylog2-server.uris=&amp;quot;http://127.0.0.1:12900/&amp;quot;&lt;br /&gt;
Set the application scret and can be generated using pwgen -N 1 -s 96.&lt;br /&gt;
&lt;br /&gt;
 application.secret=&amp;quot;sNXyFf6B4Au3GqSlZwq7En86xp10JimdxxYiLtpptOejX6tIUpUE4DGRJOrcMj07wcK0wugPaapvzEzCYinEWj7BOtHXVl5Z&amp;quot;&lt;br /&gt;
Set Web interface timezone.&lt;br /&gt;
&lt;br /&gt;
 Timezone=&amp;quot;Europe/Tallinn&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Restart the gralog-web-interface using following command,&lt;br /&gt;
&lt;br /&gt;
 $ sudo service graylog-web restart&lt;br /&gt;
Enable auto start of web interface service during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d graylog-web defaults&lt;br /&gt;
&lt;br /&gt;
= Experiences =&lt;br /&gt;
&lt;br /&gt;
In during installation time, we have found some problems which will impact on our your installation as well.&lt;br /&gt;
&lt;br /&gt;
- The version of Ubuntu and Graylog might conflict each other as well as Graylog&#039;s packages ( e.g : java )&lt;br /&gt;
&lt;br /&gt;
= Summary =&lt;br /&gt;
&lt;br /&gt;
During the installation Graylogs in both versions of Ubuntu ( 14.04 and 16.0 ). We realized that it had many differences between these versions. Listed above our objectives what we expect to achieve after installing and using Graylog, along with its useful information and its interaction between Administrator (users) with Graylog.&lt;br /&gt;
&lt;br /&gt;
its advantages:&lt;br /&gt;
 + Free.&lt;br /&gt;
 + Easy to interact with web interface.&lt;br /&gt;
 + Easy to install with the good support from its sources.&lt;br /&gt;
 + Help Administrator (user) to collect information in during logging and monitoring straightforwardly.&lt;br /&gt;
 + Many useful tools ( plugins ) which supports to work on.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;http://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/how-to-install-graylog2-on-ubuntu-14-04.html&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Logging_-_Monitoring_C21&amp;diff=106999</id>
		<title>Talk:Logging - Monitoring C21</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Logging_-_Monitoring_C21&amp;diff=106999"/>
		<updated>2016-10-13T07:52:38Z</updated>

		<summary type="html">&lt;p&gt;Akerge: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=106998</id>
		<title>Logging - Monitoring C21</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging_-_Monitoring_C21&amp;diff=106998"/>
		<updated>2016-10-13T07:52:15Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* Installation Guide */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Logging and Monitoring with Graylog&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Course: Logging and Monitoring - Lecturer: Margus Ernits&lt;br /&gt;
&lt;br /&gt;
Group : Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Team members: Ender Phan, Kustas Kurval, Sheela Gowry Sumathi Raju, Artur Vincent Kerge&lt;br /&gt;
&lt;br /&gt;
Page created by : October 05, 2016&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In order to understand how to set up the Graylog service as well as understand its crucial roles. We decided to choose Graylog as our application for Logging and Monitoring. Below are our objectives which would be expected to achieve later on:&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;How to install Graylog on Ubuntu 14.04.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;How to use Graylog to protect servers.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Upgrading and configure Graylog at first, and know how to secure Graylog.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Threats and Securing during logging.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Installation Guide=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ubuntu 14.04&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Graylog_simple_setup_v2.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prerequisites:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Since the Elasticsearch is based on java, we would require to install either openJDK or Oracle JDK. It is recommended to install Oracle JDK, verify the java version by using the following command.&lt;br /&gt;
&lt;br /&gt;
Remove the OpenJDK from the system, if you have it already installed.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get remove --purge openjdk*&lt;br /&gt;
Add repository.&lt;br /&gt;
&lt;br /&gt;
 $ sudo add-apt-repository -y ppa:webupd8team/java&lt;br /&gt;
Run the following command to pull the packages information from the newly added repository.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Issue the following command to install Java jdk 1.8.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get -y install oracle-java8-installer&lt;br /&gt;
&lt;br /&gt;
 $ java -version&lt;br /&gt;
&lt;br /&gt;
 Java version &amp;quot;1.8.0_60&amp;quot;&lt;br /&gt;
 Java(TM) SE Runtime Environment (build 1.8.0_60-b27)&lt;br /&gt;
 Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)&lt;br /&gt;
 Install Elasticsearch:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let’s install the Elasticsearch, it can be downloaded from official website.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Download and install GPG signing key&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 $ sudo wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
Note that the -qO argument is lowercase Quebec followed by capital Oscar.&lt;br /&gt;
&lt;br /&gt;
Save the repository definition to /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
 $ echo &amp;quot;deb http://packages.elastic.co/elasticsearch/1.7/debian stable main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
&lt;br /&gt;
Update repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Elasticsearch.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install elasticsearch&lt;br /&gt;
Configure Elasticsearch to start during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d elasticsearch defaults&lt;br /&gt;
The only important thing is to set a cluster name as “graylog2“, that is being used by graylog. Now edit the configuration file of Elasticsearch.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/elasticsearch/elasticsearch.yml&lt;br /&gt;
&lt;br /&gt;
 cluster.name: graylog2&lt;br /&gt;
Disable dynamic scripts to avoid remote execution, that can be done by adding the following line at the end of above file.&lt;br /&gt;
&lt;br /&gt;
 script.disable_dynamic: true&lt;br /&gt;
Once it is done, we are good to go. Before that, restart the Elasticsearch services to load the modified configuration.&lt;br /&gt;
&lt;br /&gt;
 $ sudo service elasticsearch restart&lt;br /&gt;
Wait at least a minute to let the Elasticsearch get fully restarted, otherwise testing will fail. Elastisearch should be now listen on 9200 for processing HTTP request, we can use CURL to get the response. Ensure that it returns with cluster name as “graylog2”&lt;br /&gt;
&lt;br /&gt;
 $ curl -X GET http://localhost:9200&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;status&amp;quot; : 200,&lt;br /&gt;
   &amp;quot;name&amp;quot; : &amp;quot;Pistol&amp;quot;,&lt;br /&gt;
   &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
   &amp;quot;version&amp;quot; : {&lt;br /&gt;
    &amp;quot;number&amp;quot; : &amp;quot;1.7.1&amp;quot;,&lt;br /&gt;
    &amp;quot;build_hash&amp;quot; : &amp;quot;b88f43fc40b0bcd7f173a1f9ee2e97816de80b19&amp;quot;,&lt;br /&gt;
    &amp;quot;build_timestamp&amp;quot; : &amp;quot;2015-07-29T09:54:16Z&amp;quot;,&lt;br /&gt;
    &amp;quot;build_snapshot&amp;quot; : false,&lt;br /&gt;
    &amp;quot;lucene_version&amp;quot; : &amp;quot;4.10.4&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;tagline&amp;quot; : &amp;quot;You Know, for Search&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Optional: Use the following command to check the Elasticsearch cluster health, you must get a cluster status as “green” for graylog to work.&lt;br /&gt;
&lt;br /&gt;
 $ curl -XGET &#039;http://localhost:9200/_cluster/health?pretty=true&#039;&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;cluster_name&amp;quot; : &amp;quot;&#039;&#039;&#039;graylog2&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;status&amp;quot; : &amp;quot;&#039;&#039;&#039;green&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
  &amp;quot;timed_out&amp;quot; : false,&lt;br /&gt;
  &amp;quot;number_of_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;number_of_data_nodes&amp;quot; : 1,&lt;br /&gt;
  &amp;quot;active_primary_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;active_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;relocating_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;initializing_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;delayed_unassigned_shards&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_pending_tasks&amp;quot; : 0,&lt;br /&gt;
  &amp;quot;number_of_in_flight_fetch&amp;quot; : 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install MongoDB:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
MongoDB is available in dep format and same can be downloaded from the official website. Add the following repository information on the system to install MongoDB. Before that we must import public key.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10&lt;br /&gt;
Add repository by creating the /etc/apt/sources.list.d/mongodb-org-3.0.list list file using the command.&lt;br /&gt;
&lt;br /&gt;
 $ echo &amp;quot;deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse&amp;quot; | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list&lt;br /&gt;
Update repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Install MongoDB using the following command.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install mongodb-org&lt;br /&gt;
Start the MongoDB service and enable it to start automatically during the system start-up.&lt;br /&gt;
&lt;br /&gt;
 $ sudo service mongod start&lt;br /&gt;
&lt;br /&gt;
 $ sudo ls -s /usr/bin/mongod /etc/init.d/mongod&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d mongod defaults&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Graylog2:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Graylog-server accepts and process the log messages, also spawns the RESTAPI for the requests that comes from graylog-web-interface. Download the latest version of graylog from graylog.org,&lt;br /&gt;
&lt;br /&gt;
Use the following command to install graylog2 repository.&lt;br /&gt;
&lt;br /&gt;
 $ wget https://packages.graylog2.org/repo/packages/graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
&lt;br /&gt;
 $ sudo dpkg -i graylog-1.2-repository-ubuntu14.04_latest.deb&lt;br /&gt;
Install https suppport and update the repository cache.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install apt-transport-https&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
Install Graylog server using following command.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install graylog-server &lt;br /&gt;
Edit the server.conf file.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/graylog/server/server.conf&lt;br /&gt;
Configure the following variables in the above file.&lt;br /&gt;
&lt;br /&gt;
Set a secret to secure the user passwords, use the following command to generate a secret, use at least 64 character’s.&lt;br /&gt;
&lt;br /&gt;
 $ pwgen -N 1 -s 96&lt;br /&gt;
&lt;br /&gt;
 OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
If you get a “pwgen: command not found“, use the following command to install pwgen.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install pwgen&lt;br /&gt;
&lt;br /&gt;
Place the secret.&lt;br /&gt;
&lt;br /&gt;
 password_secret = OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP&lt;br /&gt;
&lt;br /&gt;
Next is to set a hash password for the root user (not to be confused with system user, root user of graylog is admin). You will use this password for login into the web interface, admin’s password can not be changed using web interface, must edit this variable to set.&lt;br /&gt;
&lt;br /&gt;
Replace “yourpassword” with the choice of your’s.&lt;br /&gt;
&lt;br /&gt;
 # echo -n yourpassword | sha256sum&lt;br /&gt;
&lt;br /&gt;
 e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
&lt;br /&gt;
Place the hash password.&lt;br /&gt;
&lt;br /&gt;
 root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951&lt;br /&gt;
You can setup email address root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_email = &amp;quot;cyber.web@gmail.com&amp;quot;&lt;br /&gt;
Set timezone of root (admin) user.&lt;br /&gt;
&lt;br /&gt;
 root_timezone = UTC&lt;br /&gt;
&lt;br /&gt;
Graylog will try to find the Elasticsearch nodes automatically, it uses multicast mode for the same. But when it comes to larger network, it is recommended to use unicast mode which is best suited one for production setups. So add the following two entries to graylog server.conf file, replace ipaddress with live hostname or ipaddress. Multiple hosts can be added with comma separated.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_http_enabled = false&lt;br /&gt;
 elasticsearch_discovery_zen_ping_unicast_hosts = ipaddress:9300&lt;br /&gt;
&lt;br /&gt;
Set only one master node by defining the below variable, default setting is true, you must set it as a false to make the particular node as a slave. Master node performs some periodic tasks that slave won’t perform.&lt;br /&gt;
&lt;br /&gt;
 is_master = true&lt;br /&gt;
&lt;br /&gt;
The following variable sets the number of log messages to keep per index, it is recommended to have several smaller indices instead of larger ones.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_docs_per_index = 20000000&lt;br /&gt;
The following parameter defines to have total number of indices, if the this number is reached old index will be deleted.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_max_number_of_indices = 20&lt;br /&gt;
Shards setting is really depends on the number of nodes in the Elasticsearch cluster, if you have only one node, set it as 1.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_shards = 1&lt;br /&gt;
The number of replicas for your indices, if you have only one node in Elasticsearch cluster; set it as 0.&lt;br /&gt;
&lt;br /&gt;
 elasticsearch_replicas = 0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Restart Graylog service.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 $ sudo service graylog-server restart&lt;br /&gt;
Enable auto start of graylog server service during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d graylog-server defaults&lt;br /&gt;
You can check out the server startup logs, it will be useful for you to troubleshoot graylog in case of any issue.&lt;br /&gt;
&lt;br /&gt;
 # tailf /var/log/graylog-server/server.log&lt;br /&gt;
On successful start of graylog-server, you should get the following message in the log file.&lt;br /&gt;
&lt;br /&gt;
 2015-09-17T09:35:22.895+02:00 INFO  [ServerBootstrap] Graylog server up and running.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Install Graylog web interface:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To configure graylog-web-interface, you must have at least one graylog-server node. Install Graylog web interface using “apt-get”.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install graylog-web&lt;br /&gt;
Edit the configuration file and set the following parameters.&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/graylog/web/web.conf&lt;br /&gt;
This is the list of graylog-server nodes, you can add multiple nodes, separate by commas.&lt;br /&gt;
&lt;br /&gt;
 graylog2-server.uris=&amp;quot;http://127.0.0.1:12900/&amp;quot;&lt;br /&gt;
Set the application scret and can be generated using pwgen -N 1 -s 96.&lt;br /&gt;
&lt;br /&gt;
 application.secret=&amp;quot;sNXyFf6B4Au3GqSlZwq7En86xp10JimdxxYiLtpptOejX6tIUpUE4DGRJOrcMj07wcK0wugPaapvzEzCYinEWj7BOtHXVl5Z&amp;quot;&lt;br /&gt;
Set Web interface timezone.&lt;br /&gt;
&lt;br /&gt;
 Timezone=&amp;quot;Europe/Tallinn&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Restart the gralog-web-interface using following command,&lt;br /&gt;
&lt;br /&gt;
 $ sudo service graylog-web restart&lt;br /&gt;
Enable auto start of web interface service during system startup.&lt;br /&gt;
&lt;br /&gt;
 $ sudo update-rc.d graylog-web defaults&lt;br /&gt;
&lt;br /&gt;
= Experiences =&lt;br /&gt;
&lt;br /&gt;
In during installation time, we have found some problems which will impact on our your installation as well.&lt;br /&gt;
&lt;br /&gt;
- The version of Ubuntu and Graylog might conflict each other as well as Graylog&#039;s packages ( e.g : java )&lt;br /&gt;
&lt;br /&gt;
= Summary =&lt;br /&gt;
&lt;br /&gt;
During the installation Graylogs in both versions of Ubuntu ( 14.04 and 16.0 ). We realized that it had many differences between these versions. Listed above our objectives what we expect to achieve after installing and using Graylog, along with its useful information and its interaction between Administrator (users) with Graylog.&lt;br /&gt;
&lt;br /&gt;
its advantages:&lt;br /&gt;
 + Free.&lt;br /&gt;
 + Easy to interact with web interface.&lt;br /&gt;
 + Easy to install with the good support from its sources.&lt;br /&gt;
 + Help Administrator (user) to collect information in during logging and monitoring straightforwardly.&lt;br /&gt;
 + Many useful tools ( plugins ) which supports to work on.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;http://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/how-to-install-graylog2-on-ubuntu-14-04.html&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Logging_-_Monitoring_C21&amp;diff=106995</id>
		<title>Talk:Logging - Monitoring C21</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Logging_-_Monitoring_C21&amp;diff=106995"/>
		<updated>2016-10-13T07:41:03Z</updated>

		<summary type="html">&lt;p&gt;Akerge: Created page with &amp;quot;Following produces an error:  $ sudo wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -  dash &amp;#039;-&amp;#039; needs to be escaped with &amp;#039;\&amp;#039; and wget should r...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Following produces an error:&lt;br /&gt;
&lt;br /&gt;
$ sudo wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
dash &#039;-&#039; needs to be escaped with &#039;\&#039; and wget should really be verbose instead of quiet.&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Akerge&amp;diff=105745</id>
		<title>User:Akerge</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Akerge&amp;diff=105745"/>
		<updated>2016-09-26T09:27:18Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* Before the Start of Academical Year */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As the study builds up bit by bit, then,&lt;br /&gt;
&amp;lt;blockquote&amp;gt;He, who collects no bit, gets no byte!&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This is a work in progress:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Survival Guide for Students of Cybersecurity Engineering (CSE) =&lt;br /&gt;
&lt;br /&gt;
This is an ongoing project from the alpha tester. All suggestions are purely recommendations that I wish I knew before the beginning of the school. &lt;br /&gt;
&lt;br /&gt;
Prepare to your [[#Mindset | mindset]], as the first semester will be the most challenging and it should get easier once you [https://www.thrillist.com/health/nation/how-to-become-a-morning-person acquire the rhythm that suits] best for you. The tempo for studying is somewhat high if you haven&#039;t in a while or come from straight out of college without any previous knowledge of computers. Make mistakes, ask questions, put in some effort and you&#039;ll be fine.&lt;br /&gt;
&lt;br /&gt;
= Mindset =&lt;br /&gt;
[[File:Mindset.gif|200px|thumb|right|alt=Fixed vs growth mindset graphic.|Fixed vs growth mindset. Author of the graphic is [http://nigelholmes.com/ Nigel Holmes.] You can [http://www.zazzle.com/mindset_poster_by_nigel_holmes-228303290595592374 order a print from here.]]]&lt;br /&gt;
Write down why you decided to apply to this school, for this curriculum. If you haven&#039;t done so far, accept your to mistakes. Nobody&#039;s perfect and that&#039;s how we learn -- by making mistakes. Putting in effort goes a long way. Here are some helpful questions that I copied from [http://www.amazon.co.uk/Mindset-How-Fulfil-Your-Potential/dp/1780332009/ Carol S. Dweck&#039;s book &amp;quot;Mindset&amp;quot;]:&lt;br /&gt;
&lt;br /&gt;
*What are the opportunities for learning and growth today?&lt;br /&gt;
*When, where and how will I embark on my plan?&lt;br /&gt;
*When, where and how will I act on my new plan?&lt;br /&gt;
&lt;br /&gt;
= Before the Start of Academical Year =&lt;br /&gt;
[[File:Learning-how-to-learn-mooc.png|200px|thumb|right|alt=Learning to remember|Learning to remember. [https://www.coursera.org/learn/learning-how-to-learn Online course can be found here]]]&lt;br /&gt;
In order of importance. Or not, take your pick what&#039;s important to you.&lt;br /&gt;
&lt;br /&gt;
* Follow the news of the industry if you don&#039;t do so already. Get a RSS/Atom reader and follow the various news feeds.&lt;br /&gt;
&lt;br /&gt;
* Read [https://en.wikipedia.org/wiki/The_Hacker_Ethic_and_the_Spirit_of_the_Information_Age &#039;Hacker ethic&#039; by Pekka Himanen].&lt;br /&gt;
&lt;br /&gt;
* Familiarise yourself with Discrete Math ∨ suffer. One can find several books online, although printed ones are superior to electronic ones, unless one prefers e-readers. Second hand books in a readable state are rather cheap online. See [[#Textbooks for Discrete Math|list of math textbooks]] in booksellers list in [[#Resources|resources]]. Bear in mind that one book is enough and I&#039;ve heard that it may be even possible to find such books online in PDF format.&lt;br /&gt;
&lt;br /&gt;
* Learn JAVA as much as you can before, so you can study more in class and/or do your project meanwhile. See [[#Learning resources|list of learning resources]] for links.&lt;br /&gt;
* If possible, move closer to school or dormitory to cut down time on the commute.&lt;br /&gt;
* Learn to cook. By cooking I don&#039;t mean seasoning boiled noodles. [http://imgur.com/a/XGaog Here&#039;s a fine example].&lt;br /&gt;
* In case it has been a while since one has learned anything or needs to familiarize oneself to studying, check out the infographic on the right, take the online course or read [http://www.barbaraoakley.com/mfn.html the book].&lt;br /&gt;
&lt;br /&gt;
= During =&lt;br /&gt;
Majority of the following can be started before the beginning of school year to get in gear.&lt;br /&gt;
* &#039;&#039;&#039;Learn to learn&#039;&#039;&#039;. This is the most difficult part. &lt;br /&gt;
* &#039;&#039;&#039;Structure your time&#039;&#039;&#039;. Congrats if you&#039;re doing well with it.&lt;br /&gt;
* Try to &#039;&#039;&#039;keep developing the learning habit and stick to the routine&#039;&#039;&#039; or figure out what works best for you.&lt;br /&gt;
* &#039;&#039;&#039;There are no stupid questions&#039;&#039;&#039;. Get over the fear of asking questions. The more the merrier. How to ask good questions is another story altogether. Look it up.&lt;br /&gt;
* &#039;&#039;&#039;Get plenty of rest&#039;&#039;&#039;. 8 hours per night, if possible.&lt;br /&gt;
* &#039;&#039;&#039;Stay healthy&#039;&#039;&#039; -- invest in vitamins, especially vitamin D in winter due to lack of sun and Ginseng and/or Rhodiola extracts to keep you up and going.&lt;br /&gt;
* &#039;&#039;&#039;Attend the classes&#039;&#039;&#039;. Recordings are made, but they are not a substitution to attendance.&lt;br /&gt;
** Or if learning curve is too steep, skip the unnecessary classes and learn meanwhile, but really do it, don&#039;t imagine it doing. Prioritise classes.&lt;br /&gt;
* Attend hackathons. Awesome places for networking and getting some hacker-cred!&lt;br /&gt;
&lt;br /&gt;
== Problems ==&lt;br /&gt;
* If there is a problem, solve it or seek help. Unattended problems tend to grow out of hand.&lt;br /&gt;
** If the problem is in curriculum or school, go see a study counsellor. They are best informed regarding school matters.&lt;br /&gt;
**If the problem is of an emotional kind and/or related to depression, motivation you can seek help from the psychologist who speaks English and operates in TUT. The contact is counsellor at ttu (dot) ee. [https://translate.google.com/translate?sl=et&amp;amp;tl=en&amp;amp;js=y&amp;amp;prev=_t&amp;amp;hl=et&amp;amp;ie=UTF-8&amp;amp;u=http%3A%2F%2Fttu.ee%2Ftudengile%2Fnoustamine%2Fpsuhholoogiline-noustamine%2F&amp;amp;edit-text= Google translated page can be found here].&lt;br /&gt;
* &#039;&#039;Ex unitate vires&#039;&#039; -- the strength of unity. Get to know your coursemates. Learning together and/or teaching each other is a simple solution for difficult problems.&lt;br /&gt;
&lt;br /&gt;
== Classes ==&lt;br /&gt;
In the beginning of first semester you have 6 courses. It&#039;s going to be mad, so do as much as possible at school. Stay late, as college building is a surprisingly good place to study. Also, if you comprehend a little Estonian, attend the weekend classes for distance learning students: if you fail to comprehend something in Java or Math then this is a good way to recap.&lt;br /&gt;
&lt;br /&gt;
== Semester 1 ==&lt;br /&gt;
&lt;br /&gt;
=== [https://www.netacad.com/ Basic Networking] ===&lt;br /&gt;
Cisco Networking Academy&#039;s course read by Roman Kuchin, by the end of which you&#039;ll get a CCNA certificate (if you pass). Be aware that the tempo is quite high - 2 Cisco semesters during fall semester! That is 8 weeks per Cisco semester, which consists of parts 1 and 2, so 25 labs per semester, about 50 in total, about hour to hour and a half per lab, plus chapter exams. Read, the chapter and do the chapter exam on netacad and read for the next lecture. This way you&#039;ll understand better what is said during the lecture. Also, this course is a prerequisite for [[#Introduction to Cyber Security|Intro to CS]]. Again, collaborate! If in hurry, do the labs on packet tracer but nothing beats doing them IRL.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grading:&#039;&#039;&#039; Online exams and practical labs must be done before the exam date (preferably by Christmas), to be admitted to the exam, which is in late January.&lt;br /&gt;
&lt;br /&gt;
=== Basic Programming ===&lt;br /&gt;
Which is Java and is read by Mikk Mangus. If I would take this again, I&#039;d skip the classes and study the book &amp;amp; practice more on my own. Practicums are sometimes interesting. There is no homework, sometimes lecturer remembers to remind to read a chapter from &#039;&#039;[http://math.hws.edu/javanotes/ the book]&#039;&#039;. The pace is a chapter per week.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grading:&#039;&#039;&#039; Two tests in November, your own project by the beginning of December and exam in January. Own project can be anything but has to have several classes and have a git repository.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.cs.ioc.ee/ITKDM/ Logic and Discrete Mathematics] ===&lt;br /&gt;
You know math or are good at it? Help others out. Seriously, this is the most difficult subject. It is read by the professor [http://cs.ioc.ee/dept/staff/jaan.html Jaan Penjam] from Institute of Cybernetics, TUT. Recommend getting a textbook.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grading:&#039;&#039;&#039; Ongoing quizzes (9*2%) in practicum, after lecture. Midterm test (20%) and a final test (20%) before exam (42%) in January.&lt;br /&gt;
&lt;br /&gt;
=== [https://wiki.itcollege.ee/index.php/Category:I600_Introduction_to_Computers_and_Informatics Introduction to Informatics and Computers] ===&lt;br /&gt;
The basics of computers with some in-depth stuff, like debugging VHDL. Read by Lauri Võsandi.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grading:&#039;&#039;&#039; Ongoing assessment in practicums and exam in January.&lt;br /&gt;
&lt;br /&gt;
=== Social, Ethical and Professional Issues in IT ===&lt;br /&gt;
Rather interesting lectures read by [http://www.kakupesa.ee/ Kaido Kikkas] on computer and hacker history and related topics.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grading:&#039;&#039;&#039; A quiz in the first practicum about computer related history and trivia in a computer lab where you&#039;ll be using the Web to find the answers. Practicum attendance is a must, max 3 total non-attendances allowed. 1-2 written essays (2k words) with presentations.&lt;br /&gt;
&lt;br /&gt;
=== Oral and Written Communication Skills ===&lt;br /&gt;
Valuable English language taught by Kärt Rummel. Be prepared to get over stage fright as you will have to present your writings (letters of motivation, informative and persuasive arguments etc) in front of your class.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grading:&#039;&#039;&#039; Ongoing assessment - do your homework, attend your classes and you&#039;ll be fine. &amp;gt;=51% rate of attendance and participation in final round-table is necessary to pass.&lt;br /&gt;
&lt;br /&gt;
== Semester 2 ==&lt;br /&gt;
Coming soon!&lt;br /&gt;
=== [[Introduction to Cyber Security]] ===&lt;br /&gt;
Networking is a pre-requisite.&lt;br /&gt;
&lt;br /&gt;
*Programming&lt;br /&gt;
*SysOp&lt;br /&gt;
*Security&lt;br /&gt;
&lt;br /&gt;
Security is not a state but a process. Make sure your network is more secure than your neighbour&#039;s. Don&#039;t trust technology - it does not solve the problem, it moves the problem to some other place. Test your security. DevOps + enemy&#039;s tools.&lt;br /&gt;
&lt;br /&gt;
=== [http://cs.ioc.ee/ITKStat/ Statistics] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.khanacademy.org/math/probability/statistics-inferential Inferential Statistics]&lt;br /&gt;
&lt;br /&gt;
[https://www.khanacademy.org/math/probability/descriptive-statistics Descriptive Statistics]&lt;br /&gt;
&lt;br /&gt;
[https://www.datacamp.com/courses/intro-to-statistics-with-r-student-s-t-test Intro to t-tests]&lt;br /&gt;
&lt;br /&gt;
== Semester 3 ==&lt;br /&gt;
&lt;br /&gt;
=== [https://wiki.itcollege.ee/index.php/I803_IT_Infrastructure_services IT Infrastructure services] ===&lt;br /&gt;
&lt;br /&gt;
= After =&lt;br /&gt;
As with a good graphic designer, your work (probably) will not be noticed or commended unless something goes (horribly) wrong. &lt;br /&gt;
Paraphrased from [https://www.erowid.org/general/about/about_article16.shtml Erowid&#039;s Sysadmin] article.&lt;br /&gt;
&lt;br /&gt;
Never stop being curious. There is a Calvin and Hobbes comic that (maybe) illustrates this perfectly but I spent too much time searching it and got distracted by imgur so maybe it will be here by the end of my studies.&lt;br /&gt;
&lt;br /&gt;
= Resources =&lt;br /&gt;
&lt;br /&gt;
=== Textbooks for Discrete Math ===&lt;br /&gt;
&lt;br /&gt;
As recommended by math professor on his [http://www.cs.ioc.ee/ITKDM/ homepage].&lt;br /&gt;
* Susanna S. Epp&#039;s book is supposedly easier to follow, although with any book time and practice are prerequisites to gain knowledge on the subject. &lt;br /&gt;
* Kenneth H. Rosen&#039;s &#039;Discrete Mathematics and Its Applications&#039; is suggested by [http://www.cs.ioc.ee/ITKDM/ Disc. Math professor]. If you go with this one, also get the &#039;Student Solutions Guide For Discrete Mathematics And Its Applications&#039; as well. At the time of writing, the newest version is 7th edition but new ones cost in multiples more. The difference is probably minimal errata.&lt;br /&gt;
* &#039;Schaum&#039;s Outline of Discrete Mathematics&#039; by S.Lipschutz and M.Lipson is another recommendation as well as &#039;Discrete mathematics: elementary and beyond&#039; by L. Lovász, J. Pelikán and K. Vesztergombi.&lt;br /&gt;
&lt;br /&gt;
=== List of booksellers ===&lt;br /&gt;
&lt;br /&gt;
In order of personal preference.&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.uk/ Amazon] in £. Listing update is slow. Had one book refunded due to it. Although, as the prices for books might be cheaper than in EU, it is a hassle to get all the necessary books from one seller because of the (relatively) pricey shipping fees. On the other hand, if you&#039;re lucky, then the courier will bring the order to your doorstep.&lt;br /&gt;
&lt;br /&gt;
[https://www.ebay.ie/ eBay] in €! Usually mail order, prices and shipping costs are varied. Any parcel bigger than A4 envelope and 20 mm thickness will be kept at your local postal branch and you&#039;ll get a notification by snail mail or an SMS if there&#039;s a phone number on address slip.&lt;br /&gt;
&lt;br /&gt;
[https://www.abebooks.co.uk/ AbeBooks] in £. Lists European booksellers as well. Pricey shipping. €8 per book from UK?!&lt;br /&gt;
&lt;br /&gt;
[https://www.bookdepository.com/ Book Deposiory] in €.&lt;br /&gt;
&lt;br /&gt;
[https://www.thriftbooks.com/ ThriftBooks] in $. Unfortunately no personal experience with the last three.&lt;br /&gt;
&lt;br /&gt;
=== Learning resources ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Java&#039;&#039;&#039;&lt;br /&gt;
*Heres a [https://www.youtube.com/watch?v=TBWX97e1E9g&amp;amp;list=PLE7E8B7F4856C9B19 &#039;quite OK&#039; Java Video Tutorial] from [http://itk.arti.ee/ Arti Zirk&#039;s ITC webpage].&lt;br /&gt;
&lt;br /&gt;
*[https://www.codecademy.com/ Codecademy&#039;s] [https://www.codecademy.com/learn/learn-java Java] is a nice place to remind oneself basics of Java.&lt;br /&gt;
&lt;br /&gt;
*[http://www.codingbat.com/ Codingbat] is an awesome place for Java problems.&lt;br /&gt;
&lt;br /&gt;
*David Eck&#039;s book [http://math.hws.edu/javanotes/ Java Notes] is well put together book introducing Java. Homework in class.&lt;br /&gt;
&#039;&#039;&#039;Git&#039;&#039;&#039;&lt;br /&gt;
*[https://www.codecademy.com/learn/learn-git Git] courses on Codecademy will get you kickstarted.&lt;br /&gt;
&lt;br /&gt;
= Contact &amp;amp; Feedback =&lt;br /&gt;
If you have any further questions or comments, then you are free to contact me at artur at kerge (dot) eu or for non-urgent things, start a discussion on the page and/or edit it straight away. Also you can [http://kerge.eu/ check out my awesome homepage]!&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:Learning-how-to-learn-mooc.png&amp;diff=105744</id>
		<title>File:Learning-how-to-learn-mooc.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:Learning-how-to-learn-mooc.png&amp;diff=105744"/>
		<updated>2016-09-26T09:19:22Z</updated>

		<summary type="html">&lt;p&gt;Akerge: Info-graphic describing learning and remembering process&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Info-graphic describing learning and remembering process&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Akerge&amp;diff=105292</id>
		<title>User:Akerge</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Akerge&amp;diff=105292"/>
		<updated>2016-09-08T11:48:14Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* During */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As the study builds up bit by bit, then,&lt;br /&gt;
&amp;lt;blockquote&amp;gt;He, who collects no bit, gets no byte!&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This is a work in progress:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Survival Guide for Students of Cybersecurity Engineering (CSE) =&lt;br /&gt;
&lt;br /&gt;
This is an ongoing project from the alpha tester. All suggestions are purely recommendations that I wish I knew before the beginning of the school. &lt;br /&gt;
&lt;br /&gt;
Prepare to your [[#Mindset | mindset]], as the first semester will be the most challenging and it should get easier once you [https://www.thrillist.com/health/nation/how-to-become-a-morning-person acquire the rhythm that suits] best for you. The tempo for studying is somewhat high if you haven&#039;t in a while or come from straight out of college without any previous knowledge of computers. Make mistakes, ask questions, put in some effort and you&#039;ll be fine.&lt;br /&gt;
&lt;br /&gt;
= Mindset =&lt;br /&gt;
[[File:Mindset.gif|200px|thumb|right|alt=Fixed vs growth mindset graphic.|Fixed vs growth mindset. Author of the graphic is [http://nigelholmes.com/ Nigel Holmes.] You can [http://www.zazzle.com/mindset_poster_by_nigel_holmes-228303290595592374 order a print from here.]]]&lt;br /&gt;
Write down why you decided to apply to this school, for this curriculum. If you haven&#039;t done so far, accept your to mistakes. Nobody&#039;s perfect and that&#039;s how we learn -- by making mistakes. Putting in effort goes a long way. Here are some helpful questions that I copied from [http://www.amazon.co.uk/Mindset-How-Fulfil-Your-Potential/dp/1780332009/ Carol S. Dweck&#039;s book &amp;quot;Mindset&amp;quot;]:&lt;br /&gt;
&lt;br /&gt;
*What are the opportunities for learning and growth today?&lt;br /&gt;
*When, where and how will I embark on my plan?&lt;br /&gt;
*When, where and how will I act on my new plan?&lt;br /&gt;
&lt;br /&gt;
= Before the Start of Academical Year =&lt;br /&gt;
&lt;br /&gt;
In order of importance. Or not, take your pick what&#039;s important to you.&lt;br /&gt;
&lt;br /&gt;
* Follow the news of the industry if you don&#039;t do so already. Get a RSS/Atom reader and follow the various news feeds.&lt;br /&gt;
&lt;br /&gt;
* Read [https://en.wikipedia.org/wiki/The_Hacker_Ethic_and_the_Spirit_of_the_Information_Age &#039;Hacker ethic&#039; by Pekka Himanen].&lt;br /&gt;
&lt;br /&gt;
* Familiarise yourself with Discrete Math ∨ suffer. One can find several books online, although printed ones are superior to electronic ones, unless one prefers e-readers. Second hand books in a readable state are rather cheap online. See [[#Textbooks for Discrete Math|list of math textbooks]] in booksellers list in [[#Resources|resources]]. Bear in mind that one book is enough and I&#039;ve heard that it may be even possible to find such books online in PDF format.&lt;br /&gt;
&lt;br /&gt;
* Learn JAVA as much as you can before, so you can study more in class and/or do your project meanwhile. See [[#Learning resources|list of learning resources]] for links.&lt;br /&gt;
* If possible, move closer to school or dormitory to cut down time on the commute.&lt;br /&gt;
* Learn to cook. By cooking I don&#039;t mean seasoning boiled noodles. [http://imgur.com/a/XGaog Here&#039;s a fine example].&lt;br /&gt;
&lt;br /&gt;
= During =&lt;br /&gt;
Majority of the following can be started before the beginning of school year to get in gear.&lt;br /&gt;
* &#039;&#039;&#039;Learn to learn&#039;&#039;&#039;. This is the most difficult part. &lt;br /&gt;
* &#039;&#039;&#039;Structure your time&#039;&#039;&#039;. Congrats if you&#039;re doing well with it.&lt;br /&gt;
* Try to &#039;&#039;&#039;keep developing the learning habit and stick to the routine&#039;&#039;&#039; or figure out what works best for you.&lt;br /&gt;
* &#039;&#039;&#039;There are no stupid questions&#039;&#039;&#039;. Get over the fear of asking questions. The more the merrier. How to ask good questions is another story altogether. Look it up.&lt;br /&gt;
* &#039;&#039;&#039;Get plenty of rest&#039;&#039;&#039;. 8 hours per night, if possible.&lt;br /&gt;
* &#039;&#039;&#039;Stay healthy&#039;&#039;&#039; -- invest in vitamins, especially vitamin D in winter due to lack of sun and Ginseng and/or Rhodiola extracts to keep you up and going.&lt;br /&gt;
* &#039;&#039;&#039;Attend the classes&#039;&#039;&#039;. Recordings are made, but they are not a substitution to attendance.&lt;br /&gt;
** Or if learning curve is too steep, skip the unnecessary classes and learn meanwhile, but really do it, don&#039;t imagine it doing. Prioritise classes.&lt;br /&gt;
* Attend hackathons. Awesome places for networking and getting some hacker-cred!&lt;br /&gt;
&lt;br /&gt;
== Problems ==&lt;br /&gt;
* If there is a problem, solve it or seek help. Unattended problems tend to grow out of hand.&lt;br /&gt;
** If the problem is in curriculum or school, go see a study counsellor. They are best informed regarding school matters.&lt;br /&gt;
**If the problem is of an emotional kind and/or related to depression, motivation you can seek help from the psychologist who speaks English and operates in TUT. The contact is counsellor at ttu (dot) ee. [https://translate.google.com/translate?sl=et&amp;amp;tl=en&amp;amp;js=y&amp;amp;prev=_t&amp;amp;hl=et&amp;amp;ie=UTF-8&amp;amp;u=http%3A%2F%2Fttu.ee%2Ftudengile%2Fnoustamine%2Fpsuhholoogiline-noustamine%2F&amp;amp;edit-text= Google translated page can be found here].&lt;br /&gt;
* &#039;&#039;Ex unitate vires&#039;&#039; -- the strength of unity. Get to know your coursemates. Learning together and/or teaching each other is a simple solution for difficult problems.&lt;br /&gt;
&lt;br /&gt;
== Classes ==&lt;br /&gt;
In the beginning of first semester you have 6 courses. It&#039;s going to be mad, so do as much as possible at school. Stay late, as college building is a surprisingly good place to study. Also, if you comprehend a little Estonian, attend the weekend classes for distance learning students: if you fail to comprehend something in Java or Math then this is a good way to recap.&lt;br /&gt;
&lt;br /&gt;
== Semester 1 ==&lt;br /&gt;
&lt;br /&gt;
=== [https://www.netacad.com/ Basic Networking] ===&lt;br /&gt;
Cisco Networking Academy&#039;s course read by Roman Kuchin, by the end of which you&#039;ll get a CCNA certificate (if you pass). Be aware that the tempo is quite high - 2 Cisco semesters during fall semester! That is 8 weeks per Cisco semester, which consists of parts 1 and 2, so 25 labs per semester, about 50 in total, about hour to hour and a half per lab, plus chapter exams. Read, the chapter and do the chapter exam on netacad and read for the next lecture. This way you&#039;ll understand better what is said during the lecture. Also, this course is a prerequisite for [[#Introduction to Cyber Security|Intro to CS]]. Again, collaborate! If in hurry, do the labs on packet tracer but nothing beats doing them IRL.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grading:&#039;&#039;&#039; Online exams and practical labs must be done before the exam date (preferably by Christmas), to be admitted to the exam, which is in late January.&lt;br /&gt;
&lt;br /&gt;
=== Basic Programming ===&lt;br /&gt;
Which is Java and is read by Mikk Mangus. If I would take this again, I&#039;d skip the classes and study the book &amp;amp; practice more on my own. Practicums are sometimes interesting. There is no homework, sometimes lecturer remembers to remind to read a chapter from &#039;&#039;[http://math.hws.edu/javanotes/ the book]&#039;&#039;. The pace is a chapter per week.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grading:&#039;&#039;&#039; Two tests in November, your own project by the beginning of December and exam in January. Own project can be anything but has to have several classes and have a git repository.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.cs.ioc.ee/ITKDM/ Logic and Discrete Mathematics] ===&lt;br /&gt;
You know math or are good at it? Help others out. Seriously, this is the most difficult subject. It is read by the professor [http://cs.ioc.ee/dept/staff/jaan.html Jaan Penjam] from Institute of Cybernetics, TUT. Recommend getting a textbook.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grading:&#039;&#039;&#039; Ongoing quizzes (9*2%) in practicum, after lecture. Midterm test (20%) and a final test (20%) before exam (42%) in January.&lt;br /&gt;
&lt;br /&gt;
=== [https://wiki.itcollege.ee/index.php/Category:I600_Introduction_to_Computers_and_Informatics Introduction to Informatics and Computers] ===&lt;br /&gt;
The basics of computers with some in-depth stuff, like debugging VHDL. Read by Lauri Võsandi.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grading:&#039;&#039;&#039; Ongoing assessment in practicums and exam in January.&lt;br /&gt;
&lt;br /&gt;
=== Social, Ethical and Professional Issues in IT ===&lt;br /&gt;
Rather interesting lectures read by [http://www.kakupesa.ee/ Kaido Kikkas] on computer and hacker history and related topics.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grading:&#039;&#039;&#039; A quiz in the first practicum about computer related history and trivia in a computer lab where you&#039;ll be using the Web to find the answers. Practicum attendance is a must, max 3 total non-attendances allowed. 1-2 written essays (2k words) with presentations.&lt;br /&gt;
&lt;br /&gt;
=== Oral and Written Communication Skills ===&lt;br /&gt;
Valuable English language taught by Kärt Rummel. Be prepared to get over stage fright as you will have to present your writings (letters of motivation, informative and persuasive arguments etc) in front of your class.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grading:&#039;&#039;&#039; Ongoing assessment - do your homework, attend your classes and you&#039;ll be fine. &amp;gt;=51% rate of attendance and participation in final round-table is necessary to pass.&lt;br /&gt;
&lt;br /&gt;
== Semester 2 ==&lt;br /&gt;
Coming soon!&lt;br /&gt;
=== [[Introduction to Cyber Security]] ===&lt;br /&gt;
Networking is a pre-requisite.&lt;br /&gt;
&lt;br /&gt;
*Programming&lt;br /&gt;
*SysOp&lt;br /&gt;
*Security&lt;br /&gt;
&lt;br /&gt;
Security is not a state but a process. Make sure your network is more secure than your neighbour&#039;s. Don&#039;t trust technology - it does not solve the problem, it moves the problem to some other place. Test your security. DevOps + enemy&#039;s tools.&lt;br /&gt;
&lt;br /&gt;
=== [http://cs.ioc.ee/ITKStat/ Statistics] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.khanacademy.org/math/probability/statistics-inferential Inferential Statistics]&lt;br /&gt;
&lt;br /&gt;
[https://www.khanacademy.org/math/probability/descriptive-statistics Descriptive Statistics]&lt;br /&gt;
&lt;br /&gt;
[https://www.datacamp.com/courses/intro-to-statistics-with-r-student-s-t-test Intro to t-tests]&lt;br /&gt;
&lt;br /&gt;
== Semester 3 ==&lt;br /&gt;
&lt;br /&gt;
=== [https://wiki.itcollege.ee/index.php/I803_IT_Infrastructure_services IT Infrastructure services] ===&lt;br /&gt;
&lt;br /&gt;
= After =&lt;br /&gt;
As with a good graphic designer, your work (probably) will not be noticed or commended unless something goes (horribly) wrong. &lt;br /&gt;
Paraphrased from [https://www.erowid.org/general/about/about_article16.shtml Erowid&#039;s Sysadmin] article.&lt;br /&gt;
&lt;br /&gt;
Never stop being curious. There is a Calvin and Hobbes comic that (maybe) illustrates this perfectly but I spent too much time searching it and got distracted by imgur so maybe it will be here by the end of my studies.&lt;br /&gt;
&lt;br /&gt;
= Resources =&lt;br /&gt;
&lt;br /&gt;
=== Textbooks for Discrete Math ===&lt;br /&gt;
&lt;br /&gt;
As recommended by math professor on his [http://www.cs.ioc.ee/ITKDM/ homepage].&lt;br /&gt;
* Susanna S. Epp&#039;s book is supposedly easier to follow, although with any book time and practice are prerequisites to gain knowledge on the subject. &lt;br /&gt;
* Kenneth H. Rosen&#039;s &#039;Discrete Mathematics and Its Applications&#039; is suggested by [http://www.cs.ioc.ee/ITKDM/ Disc. Math professor]. If you go with this one, also get the &#039;Student Solutions Guide For Discrete Mathematics And Its Applications&#039; as well. At the time of writing, the newest version is 7th edition but new ones cost in multiples more. The difference is probably minimal errata.&lt;br /&gt;
* &#039;Schaum&#039;s Outline of Discrete Mathematics&#039; by S.Lipschutz and M.Lipson is another recommendation as well as &#039;Discrete mathematics: elementary and beyond&#039; by L. Lovász, J. Pelikán and K. Vesztergombi.&lt;br /&gt;
&lt;br /&gt;
=== List of booksellers ===&lt;br /&gt;
&lt;br /&gt;
In order of personal preference.&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.uk/ Amazon] in £. Listing update is slow. Had one book refunded due to it. Although, as the prices for books might be cheaper than in EU, it is a hassle to get all the necessary books from one seller because of the (relatively) pricey shipping fees. On the other hand, if you&#039;re lucky, then the courier will bring the order to your doorstep.&lt;br /&gt;
&lt;br /&gt;
[https://www.ebay.ie/ eBay] in €! Usually mail order, prices and shipping costs are varied. Any parcel bigger than A4 envelope and 20 mm thickness will be kept at your local postal branch and you&#039;ll get a notification by snail mail or an SMS if there&#039;s a phone number on address slip.&lt;br /&gt;
&lt;br /&gt;
[https://www.abebooks.co.uk/ AbeBooks] in £. Lists European booksellers as well. Pricey shipping. €8 per book from UK?!&lt;br /&gt;
&lt;br /&gt;
[https://www.bookdepository.com/ Book Deposiory] in €.&lt;br /&gt;
&lt;br /&gt;
[https://www.thriftbooks.com/ ThriftBooks] in $. Unfortunately no personal experience with the last three.&lt;br /&gt;
&lt;br /&gt;
=== Learning resources ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Java&#039;&#039;&#039;&lt;br /&gt;
*Heres a [https://www.youtube.com/watch?v=TBWX97e1E9g&amp;amp;list=PLE7E8B7F4856C9B19 &#039;quite OK&#039; Java Video Tutorial] from [http://itk.arti.ee/ Arti Zirk&#039;s ITC webpage].&lt;br /&gt;
&lt;br /&gt;
*[https://www.codecademy.com/ Codecademy&#039;s] [https://www.codecademy.com/learn/learn-java Java] is a nice place to remind oneself basics of Java.&lt;br /&gt;
&lt;br /&gt;
*[http://www.codingbat.com/ Codingbat] is an awesome place for Java problems.&lt;br /&gt;
&lt;br /&gt;
*David Eck&#039;s book [http://math.hws.edu/javanotes/ Java Notes] is well put together book introducing Java. Homework in class.&lt;br /&gt;
&#039;&#039;&#039;Git&#039;&#039;&#039;&lt;br /&gt;
*[https://www.codecademy.com/learn/learn-git Git] courses on Codecademy will get you kickstarted.&lt;br /&gt;
&lt;br /&gt;
= Contact &amp;amp; Feedback =&lt;br /&gt;
If you have any further questions or comments, then you are free to contact me at artur at kerge (dot) eu or for non-urgent things, start a discussion on the page and/or edit it straight away. Also you can [http://kerge.eu/ check out my awesome homepage]!&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Akerge&amp;diff=104986</id>
		<title>User:Akerge</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Akerge&amp;diff=104986"/>
		<updated>2016-07-04T18:03:55Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* List of booksellers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As the study builds up bit by bit, then,&lt;br /&gt;
&amp;lt;blockquote&amp;gt;He, who collects no bit, gets no byte!&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This is a work in progress:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Survival Guide for Students of Cybersecurity Engineering (CSE) =&lt;br /&gt;
&lt;br /&gt;
This is an ongoing project from the alpha tester. All suggestions are purely recommendations that I wish I knew before the beginning of the school. &lt;br /&gt;
&lt;br /&gt;
Prepare to your [[#Mindset | mindset]], as the first semester will be the most challenging and it should get easier once you [https://www.thrillist.com/health/nation/how-to-become-a-morning-person acquire the rhythm that suits] best for you. The tempo for studying is somewhat high if you haven&#039;t in a while or come from straight out of college without any previous knowledge of computers. Make mistakes, ask questions, put in some effort and you&#039;ll be fine.&lt;br /&gt;
&lt;br /&gt;
= Mindset =&lt;br /&gt;
[[File:Mindset.gif|200px|thumb|right|alt=Fixed vs growth mindset graphic.|Fixed vs growth mindset. Author of the graphic is [http://nigelholmes.com/ Nigel Holmes.] You can [http://www.zazzle.com/mindset_poster_by_nigel_holmes-228303290595592374 order a print from here.]]]&lt;br /&gt;
Write down why you decided to apply to this school, for this curriculum. If you haven&#039;t done so far, accept your to mistakes. Nobody&#039;s perfect and that&#039;s how we learn -- by making mistakes. Putting in effort goes a long way. Here are some helpful questions that I copied from [http://www.amazon.co.uk/Mindset-How-Fulfil-Your-Potential/dp/1780332009/ Carol S. Dweck&#039;s book &amp;quot;Mindset&amp;quot;]:&lt;br /&gt;
&lt;br /&gt;
*What are the opportunities for learning and growth today?&lt;br /&gt;
*When, where and how will I embark on my plan?&lt;br /&gt;
*When, where and how will I act on my new plan?&lt;br /&gt;
&lt;br /&gt;
= Before the Start of Academical Year =&lt;br /&gt;
&lt;br /&gt;
In order of importance. Or not, take your pick what&#039;s important to you.&lt;br /&gt;
&lt;br /&gt;
* Follow the news of the industry if you don&#039;t do so already. Get a RSS/Atom reader and follow the various news feeds.&lt;br /&gt;
&lt;br /&gt;
* Read [https://en.wikipedia.org/wiki/The_Hacker_Ethic_and_the_Spirit_of_the_Information_Age &#039;Hacker ethic&#039; by Pekka Himanen].&lt;br /&gt;
&lt;br /&gt;
* Familiarise yourself with Discrete Math ∨ suffer. One can find several books online, although printed ones are superior to electronic ones, unless one prefers e-readers. Second hand books in a readable state are rather cheap online. See [[#Textbooks for Discrete Math|list of math textbooks]] in booksellers list in [[#Resources|resources]]. Bear in mind that one book is enough and I&#039;ve heard that it may be even possible to find such books online in PDF format.&lt;br /&gt;
&lt;br /&gt;
* Learn JAVA as much as you can before, so you can study more in class and/or do your project meanwhile. See [[#Learning resources|list of learning resources]] for links.&lt;br /&gt;
* If possible, move closer to school or dormitory to cut down time on the commute.&lt;br /&gt;
* Learn to cook. By cooking I don&#039;t mean seasoning boiled noodles. [http://imgur.com/a/XGaog Here&#039;s a fine example].&lt;br /&gt;
&lt;br /&gt;
= During =&lt;br /&gt;
Majority of the following can be started before the beginning of school year to get in gear.&lt;br /&gt;
* &#039;&#039;&#039;Learn to learn&#039;&#039;&#039;. This is the most difficult part. &lt;br /&gt;
* &#039;&#039;&#039;Structure your time&#039;&#039;&#039;. Congrats if you&#039;re doing well with it.&lt;br /&gt;
* Try to &#039;&#039;&#039;keep developing the learning habit and stick to the routine&#039;&#039;&#039; or figure out what works best for you.&lt;br /&gt;
* &#039;&#039;&#039;There are no stupid questions&#039;&#039;&#039;. Get over the fear of asking questions. The more the merrier. How to ask good questions is another story altogether. Look it up.&lt;br /&gt;
* &#039;&#039;&#039;Get plenty of rest&#039;&#039;&#039;. 8 hours per night, if possible.&lt;br /&gt;
* &#039;&#039;&#039;Stay healthy&#039;&#039;&#039; -- invest in vitamins, especially vitamin D in winter due to lack of sun and Ginseng and/or Rhodiola extracts to keep you up and going.&lt;br /&gt;
* &#039;&#039;&#039;Attend the classes&#039;&#039;&#039;. Recordings are made, but they are not a substitution to attendance.&lt;br /&gt;
** Or if learning curve is too steep, skip the unnecessary classes and learn meanwhile, but really do it, don&#039;t imagine it doing. Prioritise classes.&lt;br /&gt;
* Attend hackathons. Awesome places for networking and getting some hacker-cred!&lt;br /&gt;
&lt;br /&gt;
== Problems ==&lt;br /&gt;
* If there is a problem, solve it or seek help. Unattended problems tend to grow out of hand.&lt;br /&gt;
** If the problem is in curriculum or school, go see a study counsellor. They are best informed regarding school matters.&lt;br /&gt;
**If the problem is of an emotional kind and/or related to depression, motivation you can seek help from the psychologist who speaks English and operates in TUT. The contact is counsellor at ttu (dot) ee. [https://translate.google.com/translate?sl=et&amp;amp;tl=en&amp;amp;js=y&amp;amp;prev=_t&amp;amp;hl=et&amp;amp;ie=UTF-8&amp;amp;u=http%3A%2F%2Fttu.ee%2Ftudengile%2Fnoustamine%2Fpsuhholoogiline-noustamine%2F&amp;amp;edit-text= Google translated page can be found here].&lt;br /&gt;
* &#039;&#039;Ex unitate vires&#039;&#039; -- the strength of unity. Get to know your coursemates. Learning together and/or teaching each other is a simple solution for difficult problems.&lt;br /&gt;
&lt;br /&gt;
== Classes ==&lt;br /&gt;
In the beginning of first semester you have 6 courses. It&#039;s going to be mad, so do as much as possible at school. Stay late, as college building is a surprisingly good place to study. Also, if you comprehend a little Estonian, attend the weekend classes for distance learning students: if you fail to comprehend something in Java or Math then this is a good way to recap.&lt;br /&gt;
&lt;br /&gt;
== Semester 1 ==&lt;br /&gt;
&lt;br /&gt;
=== [https://www.netacad.com/ Basic Networking] ===&lt;br /&gt;
Cisco Networking Academy&#039;s course read by Roman Kuchin, by the end of which you&#039;ll get a CCNA certificate (if you pass). Be aware that the tempo is quite high - 2 Cisco semesters during fall semester! That is 8 weeks per Cisco semester, which consists of parts 1 and 2, so 25 labs per semester, about 50 in total, about hour to hour and a half per lab, plus chapter exams. Read, the chapter and do the chapter exam on netacad and read for the next lecture. This way you&#039;ll understand better what is said during the lecture. Also, this course is a prerequisite for [[#Introduction to Cyber Security|Intro to CS]]. Again, collaborate! If in hurry, do the labs on packet tracer but nothing beats doing them IRL.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grading:&#039;&#039;&#039; Online exams and practical labs must be done before the exam date (preferably by Christmas), to be admitted to the exam, which is in late January.&lt;br /&gt;
&lt;br /&gt;
=== Basic Programming ===&lt;br /&gt;
Which is Java and is read by Mikk Mangus. If I would take this again, I&#039;d skip the classes and study the book &amp;amp; practice more on my own. Practicums are sometimes interesting. There is no homework, sometimes lecturer remembers to remind to read a chapter from &#039;&#039;[http://math.hws.edu/javanotes/ the book]&#039;&#039;. The pace is a chapter per week.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grading:&#039;&#039;&#039; Two tests in November, your own project by the beginning of December and exam in January. Own project can be anything but has to have several classes and have a git repository.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.cs.ioc.ee/ITKDM/ Logic and Discrete Mathematics] ===&lt;br /&gt;
You know math or are good at it? Help others out. Seriously, this is the most difficult subject. It is read by the professor [http://cs.ioc.ee/dept/staff/jaan.html Jaan Penjam] from Institute of Cybernetics, TUT. Recommend getting a textbook.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grading:&#039;&#039;&#039; Ongoing quizzes (9*2%) in practicum, after lecture. Midterm test (20%) and a final test (20%) before exam (42%) in January.&lt;br /&gt;
&lt;br /&gt;
=== [https://wiki.itcollege.ee/index.php/Category:I600_Introduction_to_Computers_and_Informatics Introduction to Informatics and Computers] ===&lt;br /&gt;
The basics of computers with some in-depth stuff, like debugging VHDL. Read by Lauri Võsandi.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grading:&#039;&#039;&#039; Ongoing assessment in practicums and exam in January.&lt;br /&gt;
&lt;br /&gt;
=== Social, Ethical and Professional Issues in IT ===&lt;br /&gt;
Rather interesting lectures read by [http://www.kakupesa.ee/ Kaido Kikkas] on computer and hacker history and related topics.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grading:&#039;&#039;&#039; A quiz in the first practicum about computer related history and trivia in a computer lab where you&#039;ll be using the Web to find the answers. Practicum attendance is a must, max 3 total non-attendances allowed. 1-2 written essays (2k words) with presentations.&lt;br /&gt;
&lt;br /&gt;
=== Oral and Written Communication Skills ===&lt;br /&gt;
Valuable English language taught by Kärt Rummel. Be prepared to get over stage fright as you will have to present your writings (letters of motivation, informative and persuasive arguments etc) in front of your class.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grading:&#039;&#039;&#039; Ongoing assessment - do your homework, attend your classes and you&#039;ll be fine. &amp;gt;=51% rate of attendance and participation in final round-table is necessary to pass.&lt;br /&gt;
&lt;br /&gt;
== Semester 2 ==&lt;br /&gt;
Coming soon!&lt;br /&gt;
=== [[Introduction to Cyber Security]] ===&lt;br /&gt;
Networking is a pre-requisite.&lt;br /&gt;
&lt;br /&gt;
*Programming&lt;br /&gt;
*SysOp&lt;br /&gt;
*Security&lt;br /&gt;
&lt;br /&gt;
Security is not a state but a process. Make sure your network is more secure than your neighbour&#039;s. Don&#039;t trust technology - it does not solve the problem, it moves the problem to some other place. Test your security. DevOps + enemy&#039;s tools.&lt;br /&gt;
&lt;br /&gt;
=== [http://cs.ioc.ee/ITKStat/ Statistics] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.khanacademy.org/math/probability/statistics-inferential Inferential Statistics]&lt;br /&gt;
&lt;br /&gt;
[https://www.khanacademy.org/math/probability/descriptive-statistics Descriptive Statistics]&lt;br /&gt;
&lt;br /&gt;
[https://www.datacamp.com/courses/intro-to-statistics-with-r-student-s-t-test Intro to t-tests]&lt;br /&gt;
&lt;br /&gt;
= After =&lt;br /&gt;
As with a good graphic designer, your work (probably) will not be noticed or commended unless something goes (horribly) wrong. &lt;br /&gt;
Paraphrased from [https://www.erowid.org/general/about/about_article16.shtml Erowid&#039;s Sysadmin] article.&lt;br /&gt;
&lt;br /&gt;
Never stop being curious. There is a Calvin and Hobbes comic that (maybe) illustrates this perfectly but I spent too much time searching it and got distracted by imgur so maybe it will be here by the end of my studies.&lt;br /&gt;
&lt;br /&gt;
= Resources =&lt;br /&gt;
&lt;br /&gt;
=== Textbooks for Discrete Math ===&lt;br /&gt;
&lt;br /&gt;
As recommended by math professor on his [http://www.cs.ioc.ee/ITKDM/ homepage].&lt;br /&gt;
* Susanna S. Epp&#039;s book is supposedly easier to follow, although with any book time and practice are prerequisites to gain knowledge on the subject. &lt;br /&gt;
* Kenneth H. Rosen&#039;s &#039;Discrete Mathematics and Its Applications&#039; is suggested by [http://www.cs.ioc.ee/ITKDM/ Disc. Math professor]. If you go with this one, also get the &#039;Student Solutions Guide For Discrete Mathematics And Its Applications&#039; as well. At the time of writing, the newest version is 7th edition but new ones cost in multiples more. The difference is probably minimal errata.&lt;br /&gt;
* &#039;Schaum&#039;s Outline of Discrete Mathematics&#039; by S.Lipschutz and M.Lipson is another recommendation as well as &#039;Discrete mathematics: elementary and beyond&#039; by L. Lovász, J. Pelikán and K. Vesztergombi.&lt;br /&gt;
&lt;br /&gt;
=== List of booksellers ===&lt;br /&gt;
&lt;br /&gt;
In order of personal preference.&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.uk/ Amazon] in £. Listing update is slow. Had one book refunded due to it. Although, as the prices for books might be cheaper than in EU, it is a hassle to get all the necessary books from one seller because of the (relatively) pricey shipping fees. On the other hand, if you&#039;re lucky, then the courier will bring the order to your doorstep.&lt;br /&gt;
&lt;br /&gt;
[https://www.ebay.ie/ eBay] in €! Usually mail order, prices and shipping costs are varied. Any parcel bigger than A4 envelope and 20 mm thickness will be kept at your local postal branch and you&#039;ll get a notification by snail mail or an SMS if there&#039;s a phone number on address slip.&lt;br /&gt;
&lt;br /&gt;
[https://www.abebooks.co.uk/ AbeBooks] in £. Lists European booksellers as well. Pricey shipping. €8 per book from UK?!&lt;br /&gt;
&lt;br /&gt;
[https://www.bookdepository.com/ Book Deposiory] in €.&lt;br /&gt;
&lt;br /&gt;
[https://www.thriftbooks.com/ ThriftBooks] in $. Unfortunately no personal experience with the last three.&lt;br /&gt;
&lt;br /&gt;
=== Learning resources ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Java&#039;&#039;&#039;&lt;br /&gt;
*Heres a [https://www.youtube.com/watch?v=TBWX97e1E9g&amp;amp;list=PLE7E8B7F4856C9B19 &#039;quite OK&#039; Java Video Tutorial] from [http://itk.arti.ee/ Arti Zirk&#039;s ITC webpage].&lt;br /&gt;
&lt;br /&gt;
*[https://www.codecademy.com/ Codecademy&#039;s] [https://www.codecademy.com/learn/learn-java Java] is a nice place to remind oneself basics of Java.&lt;br /&gt;
&lt;br /&gt;
*[http://www.codingbat.com/ Codingbat] is an awesome place for Java problems.&lt;br /&gt;
&lt;br /&gt;
*David Eck&#039;s book [http://math.hws.edu/javanotes/ Java Notes] is well put together book introducing Java. Homework in class.&lt;br /&gt;
&#039;&#039;&#039;Git&#039;&#039;&#039;&lt;br /&gt;
*[https://www.codecademy.com/learn/learn-git Git] courses on Codecademy will get you kickstarted.&lt;br /&gt;
&lt;br /&gt;
= Contact &amp;amp; Feedback =&lt;br /&gt;
If you have any further questions or comments, then you are free to contact me at artur at kerge (dot) eu or for non-urgent things, start a discussion on the page and/or edit it straight away. Also you can [http://kerge.eu/ check out my awesome homepage]!&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Akerge&amp;diff=104985</id>
		<title>User:Akerge</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Akerge&amp;diff=104985"/>
		<updated>2016-07-04T18:03:36Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* List of booksellers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As the study builds up bit by bit, then,&lt;br /&gt;
&amp;lt;blockquote&amp;gt;He, who collects no bit, gets no byte!&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This is a work in progress:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Survival Guide for Students of Cybersecurity Engineering (CSE) =&lt;br /&gt;
&lt;br /&gt;
This is an ongoing project from the alpha tester. All suggestions are purely recommendations that I wish I knew before the beginning of the school. &lt;br /&gt;
&lt;br /&gt;
Prepare to your [[#Mindset | mindset]], as the first semester will be the most challenging and it should get easier once you [https://www.thrillist.com/health/nation/how-to-become-a-morning-person acquire the rhythm that suits] best for you. The tempo for studying is somewhat high if you haven&#039;t in a while or come from straight out of college without any previous knowledge of computers. Make mistakes, ask questions, put in some effort and you&#039;ll be fine.&lt;br /&gt;
&lt;br /&gt;
= Mindset =&lt;br /&gt;
[[File:Mindset.gif|200px|thumb|right|alt=Fixed vs growth mindset graphic.|Fixed vs growth mindset. Author of the graphic is [http://nigelholmes.com/ Nigel Holmes.] You can [http://www.zazzle.com/mindset_poster_by_nigel_holmes-228303290595592374 order a print from here.]]]&lt;br /&gt;
Write down why you decided to apply to this school, for this curriculum. If you haven&#039;t done so far, accept your to mistakes. Nobody&#039;s perfect and that&#039;s how we learn -- by making mistakes. Putting in effort goes a long way. Here are some helpful questions that I copied from [http://www.amazon.co.uk/Mindset-How-Fulfil-Your-Potential/dp/1780332009/ Carol S. Dweck&#039;s book &amp;quot;Mindset&amp;quot;]:&lt;br /&gt;
&lt;br /&gt;
*What are the opportunities for learning and growth today?&lt;br /&gt;
*When, where and how will I embark on my plan?&lt;br /&gt;
*When, where and how will I act on my new plan?&lt;br /&gt;
&lt;br /&gt;
= Before the Start of Academical Year =&lt;br /&gt;
&lt;br /&gt;
In order of importance. Or not, take your pick what&#039;s important to you.&lt;br /&gt;
&lt;br /&gt;
* Follow the news of the industry if you don&#039;t do so already. Get a RSS/Atom reader and follow the various news feeds.&lt;br /&gt;
&lt;br /&gt;
* Read [https://en.wikipedia.org/wiki/The_Hacker_Ethic_and_the_Spirit_of_the_Information_Age &#039;Hacker ethic&#039; by Pekka Himanen].&lt;br /&gt;
&lt;br /&gt;
* Familiarise yourself with Discrete Math ∨ suffer. One can find several books online, although printed ones are superior to electronic ones, unless one prefers e-readers. Second hand books in a readable state are rather cheap online. See [[#Textbooks for Discrete Math|list of math textbooks]] in booksellers list in [[#Resources|resources]]. Bear in mind that one book is enough and I&#039;ve heard that it may be even possible to find such books online in PDF format.&lt;br /&gt;
&lt;br /&gt;
* Learn JAVA as much as you can before, so you can study more in class and/or do your project meanwhile. See [[#Learning resources|list of learning resources]] for links.&lt;br /&gt;
* If possible, move closer to school or dormitory to cut down time on the commute.&lt;br /&gt;
* Learn to cook. By cooking I don&#039;t mean seasoning boiled noodles. [http://imgur.com/a/XGaog Here&#039;s a fine example].&lt;br /&gt;
&lt;br /&gt;
= During =&lt;br /&gt;
Majority of the following can be started before the beginning of school year to get in gear.&lt;br /&gt;
* &#039;&#039;&#039;Learn to learn&#039;&#039;&#039;. This is the most difficult part. &lt;br /&gt;
* &#039;&#039;&#039;Structure your time&#039;&#039;&#039;. Congrats if you&#039;re doing well with it.&lt;br /&gt;
* Try to &#039;&#039;&#039;keep developing the learning habit and stick to the routine&#039;&#039;&#039; or figure out what works best for you.&lt;br /&gt;
* &#039;&#039;&#039;There are no stupid questions&#039;&#039;&#039;. Get over the fear of asking questions. The more the merrier. How to ask good questions is another story altogether. Look it up.&lt;br /&gt;
* &#039;&#039;&#039;Get plenty of rest&#039;&#039;&#039;. 8 hours per night, if possible.&lt;br /&gt;
* &#039;&#039;&#039;Stay healthy&#039;&#039;&#039; -- invest in vitamins, especially vitamin D in winter due to lack of sun and Ginseng and/or Rhodiola extracts to keep you up and going.&lt;br /&gt;
* &#039;&#039;&#039;Attend the classes&#039;&#039;&#039;. Recordings are made, but they are not a substitution to attendance.&lt;br /&gt;
** Or if learning curve is too steep, skip the unnecessary classes and learn meanwhile, but really do it, don&#039;t imagine it doing. Prioritise classes.&lt;br /&gt;
* Attend hackathons. Awesome places for networking and getting some hacker-cred!&lt;br /&gt;
&lt;br /&gt;
== Problems ==&lt;br /&gt;
* If there is a problem, solve it or seek help. Unattended problems tend to grow out of hand.&lt;br /&gt;
** If the problem is in curriculum or school, go see a study counsellor. They are best informed regarding school matters.&lt;br /&gt;
**If the problem is of an emotional kind and/or related to depression, motivation you can seek help from the psychologist who speaks English and operates in TUT. The contact is counsellor at ttu (dot) ee. [https://translate.google.com/translate?sl=et&amp;amp;tl=en&amp;amp;js=y&amp;amp;prev=_t&amp;amp;hl=et&amp;amp;ie=UTF-8&amp;amp;u=http%3A%2F%2Fttu.ee%2Ftudengile%2Fnoustamine%2Fpsuhholoogiline-noustamine%2F&amp;amp;edit-text= Google translated page can be found here].&lt;br /&gt;
* &#039;&#039;Ex unitate vires&#039;&#039; -- the strength of unity. Get to know your coursemates. Learning together and/or teaching each other is a simple solution for difficult problems.&lt;br /&gt;
&lt;br /&gt;
== Classes ==&lt;br /&gt;
In the beginning of first semester you have 6 courses. It&#039;s going to be mad, so do as much as possible at school. Stay late, as college building is a surprisingly good place to study. Also, if you comprehend a little Estonian, attend the weekend classes for distance learning students: if you fail to comprehend something in Java or Math then this is a good way to recap.&lt;br /&gt;
&lt;br /&gt;
== Semester 1 ==&lt;br /&gt;
&lt;br /&gt;
=== [https://www.netacad.com/ Basic Networking] ===&lt;br /&gt;
Cisco Networking Academy&#039;s course read by Roman Kuchin, by the end of which you&#039;ll get a CCNA certificate (if you pass). Be aware that the tempo is quite high - 2 Cisco semesters during fall semester! That is 8 weeks per Cisco semester, which consists of parts 1 and 2, so 25 labs per semester, about 50 in total, about hour to hour and a half per lab, plus chapter exams. Read, the chapter and do the chapter exam on netacad and read for the next lecture. This way you&#039;ll understand better what is said during the lecture. Also, this course is a prerequisite for [[#Introduction to Cyber Security|Intro to CS]]. Again, collaborate! If in hurry, do the labs on packet tracer but nothing beats doing them IRL.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grading:&#039;&#039;&#039; Online exams and practical labs must be done before the exam date (preferably by Christmas), to be admitted to the exam, which is in late January.&lt;br /&gt;
&lt;br /&gt;
=== Basic Programming ===&lt;br /&gt;
Which is Java and is read by Mikk Mangus. If I would take this again, I&#039;d skip the classes and study the book &amp;amp; practice more on my own. Practicums are sometimes interesting. There is no homework, sometimes lecturer remembers to remind to read a chapter from &#039;&#039;[http://math.hws.edu/javanotes/ the book]&#039;&#039;. The pace is a chapter per week.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grading:&#039;&#039;&#039; Two tests in November, your own project by the beginning of December and exam in January. Own project can be anything but has to have several classes and have a git repository.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.cs.ioc.ee/ITKDM/ Logic and Discrete Mathematics] ===&lt;br /&gt;
You know math or are good at it? Help others out. Seriously, this is the most difficult subject. It is read by the professor [http://cs.ioc.ee/dept/staff/jaan.html Jaan Penjam] from Institute of Cybernetics, TUT. Recommend getting a textbook.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grading:&#039;&#039;&#039; Ongoing quizzes (9*2%) in practicum, after lecture. Midterm test (20%) and a final test (20%) before exam (42%) in January.&lt;br /&gt;
&lt;br /&gt;
=== [https://wiki.itcollege.ee/index.php/Category:I600_Introduction_to_Computers_and_Informatics Introduction to Informatics and Computers] ===&lt;br /&gt;
The basics of computers with some in-depth stuff, like debugging VHDL. Read by Lauri Võsandi.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grading:&#039;&#039;&#039; Ongoing assessment in practicums and exam in January.&lt;br /&gt;
&lt;br /&gt;
=== Social, Ethical and Professional Issues in IT ===&lt;br /&gt;
Rather interesting lectures read by [http://www.kakupesa.ee/ Kaido Kikkas] on computer and hacker history and related topics.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grading:&#039;&#039;&#039; A quiz in the first practicum about computer related history and trivia in a computer lab where you&#039;ll be using the Web to find the answers. Practicum attendance is a must, max 3 total non-attendances allowed. 1-2 written essays (2k words) with presentations.&lt;br /&gt;
&lt;br /&gt;
=== Oral and Written Communication Skills ===&lt;br /&gt;
Valuable English language taught by Kärt Rummel. Be prepared to get over stage fright as you will have to present your writings (letters of motivation, informative and persuasive arguments etc) in front of your class.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grading:&#039;&#039;&#039; Ongoing assessment - do your homework, attend your classes and you&#039;ll be fine. &amp;gt;=51% rate of attendance and participation in final round-table is necessary to pass.&lt;br /&gt;
&lt;br /&gt;
== Semester 2 ==&lt;br /&gt;
Coming soon!&lt;br /&gt;
=== [[Introduction to Cyber Security]] ===&lt;br /&gt;
Networking is a pre-requisite.&lt;br /&gt;
&lt;br /&gt;
*Programming&lt;br /&gt;
*SysOp&lt;br /&gt;
*Security&lt;br /&gt;
&lt;br /&gt;
Security is not a state but a process. Make sure your network is more secure than your neighbour&#039;s. Don&#039;t trust technology - it does not solve the problem, it moves the problem to some other place. Test your security. DevOps + enemy&#039;s tools.&lt;br /&gt;
&lt;br /&gt;
=== [http://cs.ioc.ee/ITKStat/ Statistics] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.khanacademy.org/math/probability/statistics-inferential Inferential Statistics]&lt;br /&gt;
&lt;br /&gt;
[https://www.khanacademy.org/math/probability/descriptive-statistics Descriptive Statistics]&lt;br /&gt;
&lt;br /&gt;
[https://www.datacamp.com/courses/intro-to-statistics-with-r-student-s-t-test Intro to t-tests]&lt;br /&gt;
&lt;br /&gt;
= After =&lt;br /&gt;
As with a good graphic designer, your work (probably) will not be noticed or commended unless something goes (horribly) wrong. &lt;br /&gt;
Paraphrased from [https://www.erowid.org/general/about/about_article16.shtml Erowid&#039;s Sysadmin] article.&lt;br /&gt;
&lt;br /&gt;
Never stop being curious. There is a Calvin and Hobbes comic that (maybe) illustrates this perfectly but I spent too much time searching it and got distracted by imgur so maybe it will be here by the end of my studies.&lt;br /&gt;
&lt;br /&gt;
= Resources =&lt;br /&gt;
&lt;br /&gt;
=== Textbooks for Discrete Math ===&lt;br /&gt;
&lt;br /&gt;
As recommended by math professor on his [http://www.cs.ioc.ee/ITKDM/ homepage].&lt;br /&gt;
* Susanna S. Epp&#039;s book is supposedly easier to follow, although with any book time and practice are prerequisites to gain knowledge on the subject. &lt;br /&gt;
* Kenneth H. Rosen&#039;s &#039;Discrete Mathematics and Its Applications&#039; is suggested by [http://www.cs.ioc.ee/ITKDM/ Disc. Math professor]. If you go with this one, also get the &#039;Student Solutions Guide For Discrete Mathematics And Its Applications&#039; as well. At the time of writing, the newest version is 7th edition but new ones cost in multiples more. The difference is probably minimal errata.&lt;br /&gt;
* &#039;Schaum&#039;s Outline of Discrete Mathematics&#039; by S.Lipschutz and M.Lipson is another recommendation as well as &#039;Discrete mathematics: elementary and beyond&#039; by L. Lovász, J. Pelikán and K. Vesztergombi.&lt;br /&gt;
&lt;br /&gt;
=== List of booksellers ===&lt;br /&gt;
&lt;br /&gt;
In order of personal preference.&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.uk/ Amazon] in £. Listing update is slow. Had one book refunded due to it. Although, as the prices for books might be cheaper than in EU, it is a hassle to get all the necessary books from one seller because of the (relatively) pricey shipping fees. On the other hand, if you&#039;re lucky, then the courier will bring the order to your doorstep.&lt;br /&gt;
&lt;br /&gt;
[https://www.ebay.ie/ eBay] in €! Usually mail order, prices and shipping costs are varied. Any parcel bigger than A4 envelope and 20 mm thickness will be kept at your local postal branch and you&#039;ll get a notification by snail mail or an SMS if there&#039;s a phone number on address slip.&lt;br /&gt;
&lt;br /&gt;
[https://www.abebooks.co.uk/ AbeBooks] in £. Lists European booksellers as well. Pricey shipping. €8 per book from UK?!&lt;br /&gt;
&lt;br /&gt;
[https://www.bookdepository.com/ Book Deposiory] in 4 €.&lt;br /&gt;
&lt;br /&gt;
[https://www.thriftbooks.com/ ThriftBooks] in $. Unfortunately no personal experience with the last three.&lt;br /&gt;
&lt;br /&gt;
=== Learning resources ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Java&#039;&#039;&#039;&lt;br /&gt;
*Heres a [https://www.youtube.com/watch?v=TBWX97e1E9g&amp;amp;list=PLE7E8B7F4856C9B19 &#039;quite OK&#039; Java Video Tutorial] from [http://itk.arti.ee/ Arti Zirk&#039;s ITC webpage].&lt;br /&gt;
&lt;br /&gt;
*[https://www.codecademy.com/ Codecademy&#039;s] [https://www.codecademy.com/learn/learn-java Java] is a nice place to remind oneself basics of Java.&lt;br /&gt;
&lt;br /&gt;
*[http://www.codingbat.com/ Codingbat] is an awesome place for Java problems.&lt;br /&gt;
&lt;br /&gt;
*David Eck&#039;s book [http://math.hws.edu/javanotes/ Java Notes] is well put together book introducing Java. Homework in class.&lt;br /&gt;
&#039;&#039;&#039;Git&#039;&#039;&#039;&lt;br /&gt;
*[https://www.codecademy.com/learn/learn-git Git] courses on Codecademy will get you kickstarted.&lt;br /&gt;
&lt;br /&gt;
= Contact &amp;amp; Feedback =&lt;br /&gt;
If you have any further questions or comments, then you are free to contact me at artur at kerge (dot) eu or for non-urgent things, start a discussion on the page and/or edit it straight away. Also you can [http://kerge.eu/ check out my awesome homepage]!&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Akerge&amp;diff=104984</id>
		<title>User:Akerge</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Akerge&amp;diff=104984"/>
		<updated>2016-07-04T18:02:02Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* Semester 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As the study builds up bit by bit, then,&lt;br /&gt;
&amp;lt;blockquote&amp;gt;He, who collects no bit, gets no byte!&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This is a work in progress:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Survival Guide for Students of Cybersecurity Engineering (CSE) =&lt;br /&gt;
&lt;br /&gt;
This is an ongoing project from the alpha tester. All suggestions are purely recommendations that I wish I knew before the beginning of the school. &lt;br /&gt;
&lt;br /&gt;
Prepare to your [[#Mindset | mindset]], as the first semester will be the most challenging and it should get easier once you [https://www.thrillist.com/health/nation/how-to-become-a-morning-person acquire the rhythm that suits] best for you. The tempo for studying is somewhat high if you haven&#039;t in a while or come from straight out of college without any previous knowledge of computers. Make mistakes, ask questions, put in some effort and you&#039;ll be fine.&lt;br /&gt;
&lt;br /&gt;
= Mindset =&lt;br /&gt;
[[File:Mindset.gif|200px|thumb|right|alt=Fixed vs growth mindset graphic.|Fixed vs growth mindset. Author of the graphic is [http://nigelholmes.com/ Nigel Holmes.] You can [http://www.zazzle.com/mindset_poster_by_nigel_holmes-228303290595592374 order a print from here.]]]&lt;br /&gt;
Write down why you decided to apply to this school, for this curriculum. If you haven&#039;t done so far, accept your to mistakes. Nobody&#039;s perfect and that&#039;s how we learn -- by making mistakes. Putting in effort goes a long way. Here are some helpful questions that I copied from [http://www.amazon.co.uk/Mindset-How-Fulfil-Your-Potential/dp/1780332009/ Carol S. Dweck&#039;s book &amp;quot;Mindset&amp;quot;]:&lt;br /&gt;
&lt;br /&gt;
*What are the opportunities for learning and growth today?&lt;br /&gt;
*When, where and how will I embark on my plan?&lt;br /&gt;
*When, where and how will I act on my new plan?&lt;br /&gt;
&lt;br /&gt;
= Before the Start of Academical Year =&lt;br /&gt;
&lt;br /&gt;
In order of importance. Or not, take your pick what&#039;s important to you.&lt;br /&gt;
&lt;br /&gt;
* Follow the news of the industry if you don&#039;t do so already. Get a RSS/Atom reader and follow the various news feeds.&lt;br /&gt;
&lt;br /&gt;
* Read [https://en.wikipedia.org/wiki/The_Hacker_Ethic_and_the_Spirit_of_the_Information_Age &#039;Hacker ethic&#039; by Pekka Himanen].&lt;br /&gt;
&lt;br /&gt;
* Familiarise yourself with Discrete Math ∨ suffer. One can find several books online, although printed ones are superior to electronic ones, unless one prefers e-readers. Second hand books in a readable state are rather cheap online. See [[#Textbooks for Discrete Math|list of math textbooks]] in booksellers list in [[#Resources|resources]]. Bear in mind that one book is enough and I&#039;ve heard that it may be even possible to find such books online in PDF format.&lt;br /&gt;
&lt;br /&gt;
* Learn JAVA as much as you can before, so you can study more in class and/or do your project meanwhile. See [[#Learning resources|list of learning resources]] for links.&lt;br /&gt;
* If possible, move closer to school or dormitory to cut down time on the commute.&lt;br /&gt;
* Learn to cook. By cooking I don&#039;t mean seasoning boiled noodles. [http://imgur.com/a/XGaog Here&#039;s a fine example].&lt;br /&gt;
&lt;br /&gt;
= During =&lt;br /&gt;
Majority of the following can be started before the beginning of school year to get in gear.&lt;br /&gt;
* &#039;&#039;&#039;Learn to learn&#039;&#039;&#039;. This is the most difficult part. &lt;br /&gt;
* &#039;&#039;&#039;Structure your time&#039;&#039;&#039;. Congrats if you&#039;re doing well with it.&lt;br /&gt;
* Try to &#039;&#039;&#039;keep developing the learning habit and stick to the routine&#039;&#039;&#039; or figure out what works best for you.&lt;br /&gt;
* &#039;&#039;&#039;There are no stupid questions&#039;&#039;&#039;. Get over the fear of asking questions. The more the merrier. How to ask good questions is another story altogether. Look it up.&lt;br /&gt;
* &#039;&#039;&#039;Get plenty of rest&#039;&#039;&#039;. 8 hours per night, if possible.&lt;br /&gt;
* &#039;&#039;&#039;Stay healthy&#039;&#039;&#039; -- invest in vitamins, especially vitamin D in winter due to lack of sun and Ginseng and/or Rhodiola extracts to keep you up and going.&lt;br /&gt;
* &#039;&#039;&#039;Attend the classes&#039;&#039;&#039;. Recordings are made, but they are not a substitution to attendance.&lt;br /&gt;
** Or if learning curve is too steep, skip the unnecessary classes and learn meanwhile, but really do it, don&#039;t imagine it doing. Prioritise classes.&lt;br /&gt;
* Attend hackathons. Awesome places for networking and getting some hacker-cred!&lt;br /&gt;
&lt;br /&gt;
== Problems ==&lt;br /&gt;
* If there is a problem, solve it or seek help. Unattended problems tend to grow out of hand.&lt;br /&gt;
** If the problem is in curriculum or school, go see a study counsellor. They are best informed regarding school matters.&lt;br /&gt;
**If the problem is of an emotional kind and/or related to depression, motivation you can seek help from the psychologist who speaks English and operates in TUT. The contact is counsellor at ttu (dot) ee. [https://translate.google.com/translate?sl=et&amp;amp;tl=en&amp;amp;js=y&amp;amp;prev=_t&amp;amp;hl=et&amp;amp;ie=UTF-8&amp;amp;u=http%3A%2F%2Fttu.ee%2Ftudengile%2Fnoustamine%2Fpsuhholoogiline-noustamine%2F&amp;amp;edit-text= Google translated page can be found here].&lt;br /&gt;
* &#039;&#039;Ex unitate vires&#039;&#039; -- the strength of unity. Get to know your coursemates. Learning together and/or teaching each other is a simple solution for difficult problems.&lt;br /&gt;
&lt;br /&gt;
== Classes ==&lt;br /&gt;
In the beginning of first semester you have 6 courses. It&#039;s going to be mad, so do as much as possible at school. Stay late, as college building is a surprisingly good place to study. Also, if you comprehend a little Estonian, attend the weekend classes for distance learning students: if you fail to comprehend something in Java or Math then this is a good way to recap.&lt;br /&gt;
&lt;br /&gt;
== Semester 1 ==&lt;br /&gt;
&lt;br /&gt;
=== [https://www.netacad.com/ Basic Networking] ===&lt;br /&gt;
Cisco Networking Academy&#039;s course read by Roman Kuchin, by the end of which you&#039;ll get a CCNA certificate (if you pass). Be aware that the tempo is quite high - 2 Cisco semesters during fall semester! That is 8 weeks per Cisco semester, which consists of parts 1 and 2, so 25 labs per semester, about 50 in total, about hour to hour and a half per lab, plus chapter exams. Read, the chapter and do the chapter exam on netacad and read for the next lecture. This way you&#039;ll understand better what is said during the lecture. Also, this course is a prerequisite for [[#Introduction to Cyber Security|Intro to CS]]. Again, collaborate! If in hurry, do the labs on packet tracer but nothing beats doing them IRL.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grading:&#039;&#039;&#039; Online exams and practical labs must be done before the exam date (preferably by Christmas), to be admitted to the exam, which is in late January.&lt;br /&gt;
&lt;br /&gt;
=== Basic Programming ===&lt;br /&gt;
Which is Java and is read by Mikk Mangus. If I would take this again, I&#039;d skip the classes and study the book &amp;amp; practice more on my own. Practicums are sometimes interesting. There is no homework, sometimes lecturer remembers to remind to read a chapter from &#039;&#039;[http://math.hws.edu/javanotes/ the book]&#039;&#039;. The pace is a chapter per week.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grading:&#039;&#039;&#039; Two tests in November, your own project by the beginning of December and exam in January. Own project can be anything but has to have several classes and have a git repository.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.cs.ioc.ee/ITKDM/ Logic and Discrete Mathematics] ===&lt;br /&gt;
You know math or are good at it? Help others out. Seriously, this is the most difficult subject. It is read by the professor [http://cs.ioc.ee/dept/staff/jaan.html Jaan Penjam] from Institute of Cybernetics, TUT. Recommend getting a textbook.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grading:&#039;&#039;&#039; Ongoing quizzes (9*2%) in practicum, after lecture. Midterm test (20%) and a final test (20%) before exam (42%) in January.&lt;br /&gt;
&lt;br /&gt;
=== [https://wiki.itcollege.ee/index.php/Category:I600_Introduction_to_Computers_and_Informatics Introduction to Informatics and Computers] ===&lt;br /&gt;
The basics of computers with some in-depth stuff, like debugging VHDL. Read by Lauri Võsandi.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grading:&#039;&#039;&#039; Ongoing assessment in practicums and exam in January.&lt;br /&gt;
&lt;br /&gt;
=== Social, Ethical and Professional Issues in IT ===&lt;br /&gt;
Rather interesting lectures read by [http://www.kakupesa.ee/ Kaido Kikkas] on computer and hacker history and related topics.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grading:&#039;&#039;&#039; A quiz in the first practicum about computer related history and trivia in a computer lab where you&#039;ll be using the Web to find the answers. Practicum attendance is a must, max 3 total non-attendances allowed. 1-2 written essays (2k words) with presentations.&lt;br /&gt;
&lt;br /&gt;
=== Oral and Written Communication Skills ===&lt;br /&gt;
Valuable English language taught by Kärt Rummel. Be prepared to get over stage fright as you will have to present your writings (letters of motivation, informative and persuasive arguments etc) in front of your class.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grading:&#039;&#039;&#039; Ongoing assessment - do your homework, attend your classes and you&#039;ll be fine. &amp;gt;=51% rate of attendance and participation in final round-table is necessary to pass.&lt;br /&gt;
&lt;br /&gt;
== Semester 2 ==&lt;br /&gt;
Coming soon!&lt;br /&gt;
=== [[Introduction to Cyber Security]] ===&lt;br /&gt;
Networking is a pre-requisite.&lt;br /&gt;
&lt;br /&gt;
*Programming&lt;br /&gt;
*SysOp&lt;br /&gt;
*Security&lt;br /&gt;
&lt;br /&gt;
Security is not a state but a process. Make sure your network is more secure than your neighbour&#039;s. Don&#039;t trust technology - it does not solve the problem, it moves the problem to some other place. Test your security. DevOps + enemy&#039;s tools.&lt;br /&gt;
&lt;br /&gt;
=== [http://cs.ioc.ee/ITKStat/ Statistics] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.khanacademy.org/math/probability/statistics-inferential Inferential Statistics]&lt;br /&gt;
&lt;br /&gt;
[https://www.khanacademy.org/math/probability/descriptive-statistics Descriptive Statistics]&lt;br /&gt;
&lt;br /&gt;
[https://www.datacamp.com/courses/intro-to-statistics-with-r-student-s-t-test Intro to t-tests]&lt;br /&gt;
&lt;br /&gt;
= After =&lt;br /&gt;
As with a good graphic designer, your work (probably) will not be noticed or commended unless something goes (horribly) wrong. &lt;br /&gt;
Paraphrased from [https://www.erowid.org/general/about/about_article16.shtml Erowid&#039;s Sysadmin] article.&lt;br /&gt;
&lt;br /&gt;
Never stop being curious. There is a Calvin and Hobbes comic that (maybe) illustrates this perfectly but I spent too much time searching it and got distracted by imgur so maybe it will be here by the end of my studies.&lt;br /&gt;
&lt;br /&gt;
= Resources =&lt;br /&gt;
&lt;br /&gt;
=== Textbooks for Discrete Math ===&lt;br /&gt;
&lt;br /&gt;
As recommended by math professor on his [http://www.cs.ioc.ee/ITKDM/ homepage].&lt;br /&gt;
* Susanna S. Epp&#039;s book is supposedly easier to follow, although with any book time and practice are prerequisites to gain knowledge on the subject. &lt;br /&gt;
* Kenneth H. Rosen&#039;s &#039;Discrete Mathematics and Its Applications&#039; is suggested by [http://www.cs.ioc.ee/ITKDM/ Disc. Math professor]. If you go with this one, also get the &#039;Student Solutions Guide For Discrete Mathematics And Its Applications&#039; as well. At the time of writing, the newest version is 7th edition but new ones cost in multiples more. The difference is probably minimal errata.&lt;br /&gt;
* &#039;Schaum&#039;s Outline of Discrete Mathematics&#039; by S.Lipschutz and M.Lipson is another recommendation as well as &#039;Discrete mathematics: elementary and beyond&#039; by L. Lovász, J. Pelikán and K. Vesztergombi.&lt;br /&gt;
&lt;br /&gt;
=== List of booksellers ===&lt;br /&gt;
&lt;br /&gt;
In order of personal preference.&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.uk/ Amazon] in £. Listing update is slow. Had one book refunded due to it. Although, as the prices for books might be cheaper than in EU, it is a hassle to get all the necessary books from one seller because of the (relatively) pricey shipping fees. On the other hand, if you&#039;re lucky, then the courier will bring the order to your doorstep.&lt;br /&gt;
&lt;br /&gt;
[https://www.ebay.ie/ eBay] in €! Usually mail order, prices and shipping costs are varied. Any parcel bigger than A4 envelope and 20 mm thickness will be kept at your local postal branch and you&#039;ll get a notification by snail mail or an SMS if there&#039;s a phone number on address slip.&lt;br /&gt;
&lt;br /&gt;
[https://www.abebooks.co.uk/ AbeBooks] in £. Lists European booksellers as well. Pricey shipping. €8 per book from UK?!&lt;br /&gt;
&lt;br /&gt;
[https://www.thriftbooks.com/ ThriftBooks] in $. Unfortunately no personal experience with the last two.&lt;br /&gt;
&lt;br /&gt;
=== Learning resources ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Java&#039;&#039;&#039;&lt;br /&gt;
*Heres a [https://www.youtube.com/watch?v=TBWX97e1E9g&amp;amp;list=PLE7E8B7F4856C9B19 &#039;quite OK&#039; Java Video Tutorial] from [http://itk.arti.ee/ Arti Zirk&#039;s ITC webpage].&lt;br /&gt;
&lt;br /&gt;
*[https://www.codecademy.com/ Codecademy&#039;s] [https://www.codecademy.com/learn/learn-java Java] is a nice place to remind oneself basics of Java.&lt;br /&gt;
&lt;br /&gt;
*[http://www.codingbat.com/ Codingbat] is an awesome place for Java problems.&lt;br /&gt;
&lt;br /&gt;
*David Eck&#039;s book [http://math.hws.edu/javanotes/ Java Notes] is well put together book introducing Java. Homework in class.&lt;br /&gt;
&#039;&#039;&#039;Git&#039;&#039;&#039;&lt;br /&gt;
*[https://www.codecademy.com/learn/learn-git Git] courses on Codecademy will get you kickstarted.&lt;br /&gt;
&lt;br /&gt;
= Contact &amp;amp; Feedback =&lt;br /&gt;
If you have any further questions or comments, then you are free to contact me at artur at kerge (dot) eu or for non-urgent things, start a discussion on the page and/or edit it straight away. Also you can [http://kerge.eu/ check out my awesome homepage]!&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Irssi&amp;diff=104329</id>
		<title>Talk:Irssi</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Irssi&amp;diff=104329"/>
		<updated>2016-06-05T10:44:28Z</updated>

		<summary type="html">&lt;p&gt;Akerge: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Irssi&amp;diff=104328</id>
		<title>Irssi</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Irssi&amp;diff=104328"/>
		<updated>2016-06-05T10:42:35Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* Summary */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Irssi.png|thumb|right|alt=A screenshot of Irssi in action.|Irssi screenshot with /nick command entered.]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The&#039;&#039;&#039; command line IRC client. Irssi is FOSS (licensed under the GPLv2) and is available for Linux, BSD, Solaris, Apple and with [https://www.cygwin.com/ Cygwin] on Windows. It was developed by [http://icecap.irssi2.org/ Timo Sirainen] and was released in the beginning of 1999. It is highly customizable, for example with themes and it is possible to to use other instant messaging communication through it.&lt;br /&gt;
&lt;br /&gt;
== Installing ==&lt;br /&gt;
&lt;br /&gt;
With other package managers, distros and platforms, please see the [https://irssi.org/download/ following link].&lt;br /&gt;
&lt;br /&gt;
With apt: &lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;code&amp;gt;sudo apt-get install irssi&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is rather light-weight, being only 2 392 kB on disk.&lt;br /&gt;
&lt;br /&gt;
== Getting around ==&lt;br /&gt;
&lt;br /&gt;
=== Connecting ===&lt;br /&gt;
There are several IRC servers still alive and going strong. In this example we shall be connecting to the closest freenode server, located in Finland. Physical distance is not an issue nowadays, but imagine being stuck on a 56 kB modem with top speeds through dial-up and the copper wire being about 12 kB, maxing out at 30 kB, if local.&lt;br /&gt;
&lt;br /&gt;
* Open terminal (Ctrl+Alt+T) and type: &amp;lt;code&amp;gt;irssi&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;/connect rajaniemi.freenode.net&amp;lt;/code&amp;gt; Closest freenode server.&lt;br /&gt;
* &amp;lt;code&amp;gt;/join itcollege&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Joining channels usually requires a #-sign, for example #mozilla. Irssi adds it behind the scenes so it can be omitted.&lt;br /&gt;
&lt;br /&gt;
=== Window Switching ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Alt+#&amp;lt;/code&amp;gt; combination is used for window switching. For more than nine windows, the row below numbers will be used, for example key combination &amp;lt;code&amp;gt;Alt+q&amp;lt;/code&amp;gt; etc. A window can be changed via command as well -- &amp;lt;code&amp;gt;/window #&amp;lt;/code&amp;gt;. To close window, type &amp;lt;code&amp;gt;/wc #&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Channel and user configuration ==&lt;br /&gt;
&lt;br /&gt;
===Name===&lt;br /&gt;
&lt;br /&gt;
Default nickname (under Ubuntu) will be the computer username. To change it type &amp;lt;code&amp;gt;/nick new-username&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nickname registration is beneficial if one is planning on staying for longer. Also registration prevents nickname abuse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/msg nickserv REGISTER &amp;lt;password&amp;gt; &amp;lt;email&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Channels (chat rooms) ===&lt;br /&gt;
&lt;br /&gt;
*To list all chat rooms type &amp;lt;code&amp;gt;/list&amp;lt;/code&amp;gt; Might not be a good idea to do, considering there are about 12 000 channels. To search for a specific channel might be more useful to search via browser or know beforehand what channel you want to join.&lt;br /&gt;
&lt;br /&gt;
*Joining you can omit the number sign (#) &amp;lt;code&amp;gt;/join itcollege&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*If the channel is unregistered, connected user will receive op (+o more info below) upon entering. Channel can be registered by following command &amp;lt;code&amp;gt;/cs register #channel channelpassword channeldescription&amp;lt;/code&amp;gt;&lt;br /&gt;
** Channelpassword is required to get or give channel ownership access.&lt;br /&gt;
** Channeldescription is also required, containing description (duh) or channel purpose.&lt;br /&gt;
&lt;br /&gt;
*Away message: &amp;lt;code&amp;gt;/away msg&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Quit message: &amp;lt;code&amp;gt;/quit quitmsg&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*User query: &amp;lt;code&amp;gt;/q &amp;lt;nick&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*List users in a channel: &amp;lt;code&amp;gt;/n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Private message a user: &amp;lt;code&amp;gt;/m &amp;lt;nick&amp;gt; message&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Display a channels topic: &amp;lt;code&amp;gt;/topic&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Perform an action: &amp;lt;code&amp;gt;/me scratches his nose&amp;lt;/code&amp;gt; will look like &amp;lt;code&amp;gt;&amp;lt;nick&amp;gt; scratches his nose&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To mark yourself as away: &amp;lt;code&amp;gt;/away away_message&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== User Flags (Roles) ===&lt;br /&gt;
&lt;br /&gt;
Flags give user control rights or take them away (operator vs banned for example).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+voice&amp;lt;/code&amp;gt; - Enables use of the voice/devoice commands (who can or cannot speak).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+autovoice&amp;lt;/code&amp;gt; - Enables automatic voice.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+halfop&amp;lt;/code&amp;gt; - Enables use of the halfop/dehalfop commands (half rights of op).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+autohalfop&amp;lt;/code&amp;gt; - Enables automatic halfop.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+op&amp;lt;/code&amp;gt; - Enables use of the op/deop commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+autoop&amp;lt;/code&amp;gt; - Enables automatic op.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+protect&amp;lt;/code&amp;gt; - Enables use of the protect/deprotect commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+owner&amp;lt;/code&amp;gt; - Enables use of the owner/deowner commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+set&amp;lt;/code&amp;gt; - Enables use of the set command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+invite&amp;lt;/code&amp;gt; - Enables use of the invite and getkey commands. For example, when a channel is set to secret.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+remove&amp;lt;/code&amp;gt; - Enables use of the kick, kickban, ban and unban &lt;br /&gt;
commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+remove&amp;lt;/code&amp;gt; - Enables use of the ban and unban commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+remove&amp;lt;/code&amp;gt; - Enables use of the unban command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+recover&amp;lt;/code&amp;gt; - Enables use of the recover and clear commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+acl-change&amp;lt;/code&amp;gt; - Enables modification of channel access &lt;br /&gt;
lists.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+topic&amp;lt;/code&amp;gt; - Enables use of the topic and topicappend commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+acl-view&amp;lt;/code&amp;gt; - Enables viewing of channel access lists.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+successor&amp;lt;/code&amp;gt; Marks the user as a successor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+founder&amp;lt;/code&amp;gt; Grants full founder access.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+banned&amp;lt;/code&amp;gt; Enables automatic kickban.&lt;br /&gt;
&lt;br /&gt;
Previous has been copied from [http://www.stack.nl/~jilles/irc/atheme-help/ Jilles&#039;] ChanServ Atheme (IRC service platform) help file and a local copy can be [http://enos.itcollege.ee/~akerge/irc/ found here].&lt;br /&gt;
&lt;br /&gt;
*For more thorough channel guide, please see the following file from [http://irchelp.org/irchelp/changuide.html IRC help].&lt;br /&gt;
&lt;br /&gt;
== Further Customization ==&lt;br /&gt;
&lt;br /&gt;
To make life easier [https://scripts.irssi.org/ scripts] and [https://irssi-import.github.io/themes/ themes] with further documentation can be found on on [https://irssi.org/ irssi] homepage.&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
This was a short introduction to IRC and Irssi. So far the best program with minimal GUI that helps user to concentrate on the most important part of IRC - text.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
https://www.cygwin.com/&lt;br /&gt;
&lt;br /&gt;
http://icecap.irssi2.org/&lt;br /&gt;
&lt;br /&gt;
https://irssi.org/download/&lt;br /&gt;
&lt;br /&gt;
http://www.stack.nl/~jilles/irc/atheme-help/&lt;br /&gt;
&lt;br /&gt;
http://irchelp.org/irchelp/changuide.html&lt;br /&gt;
&lt;br /&gt;
https://scripts.irssi.org/&lt;br /&gt;
&lt;br /&gt;
https://irssi-import.github.io/themes/&lt;br /&gt;
&lt;br /&gt;
https://irssi.org/&lt;br /&gt;
&lt;br /&gt;
http://www.linux.org/threads/irssi-for-beginners.4181/&lt;br /&gt;
&lt;br /&gt;
http://www.antonfagerberg.com/blog/my-perfect-irssi-setup/&lt;br /&gt;
&lt;br /&gt;
http://www.irchelp.org/irchelp/irctutorial.html&lt;br /&gt;
&lt;br /&gt;
At the time of writing a [http://blog.freenode.net/2016/02/recent-events-and-future-changes/ post has appeared on freenode staff blog] rendering their [http://freenode.net/faq.shtml FAQ page] unusable.&lt;br /&gt;
&lt;br /&gt;
Created and edited by [[User:akerge|Artur Kerge]] in Spring of 2016&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Irssi&amp;diff=104327</id>
		<title>Irssi</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Irssi&amp;diff=104327"/>
		<updated>2016-06-05T10:41:28Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* User Flags */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Irssi.png|thumb|right|alt=A screenshot of Irssi in action.|Irssi screenshot with /nick command entered.]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The&#039;&#039;&#039; command line IRC client. Irssi is FOSS (licensed under the GPLv2) and is available for Linux, BSD, Solaris, Apple and with [https://www.cygwin.com/ Cygwin] on Windows. It was developed by [http://icecap.irssi2.org/ Timo Sirainen] and was released in the beginning of 1999. It is highly customizable, for example with themes and it is possible to to use other instant messaging communication through it.&lt;br /&gt;
&lt;br /&gt;
== Installing ==&lt;br /&gt;
&lt;br /&gt;
With other package managers, distros and platforms, please see the [https://irssi.org/download/ following link].&lt;br /&gt;
&lt;br /&gt;
With apt: &lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;code&amp;gt;sudo apt-get install irssi&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is rather light-weight, being only 2 392 kB on disk.&lt;br /&gt;
&lt;br /&gt;
== Getting around ==&lt;br /&gt;
&lt;br /&gt;
=== Connecting ===&lt;br /&gt;
There are several IRC servers still alive and going strong. In this example we shall be connecting to the closest freenode server, located in Finland. Physical distance is not an issue nowadays, but imagine being stuck on a 56 kB modem with top speeds through dial-up and the copper wire being about 12 kB, maxing out at 30 kB, if local.&lt;br /&gt;
&lt;br /&gt;
* Open terminal (Ctrl+Alt+T) and type: &amp;lt;code&amp;gt;irssi&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;/connect rajaniemi.freenode.net&amp;lt;/code&amp;gt; Closest freenode server.&lt;br /&gt;
* &amp;lt;code&amp;gt;/join itcollege&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Joining channels usually requires a #-sign, for example #mozilla. Irssi adds it behind the scenes so it can be omitted.&lt;br /&gt;
&lt;br /&gt;
=== Window Switching ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Alt+#&amp;lt;/code&amp;gt; combination is used for window switching. For more than nine windows, the row below numbers will be used, for example key combination &amp;lt;code&amp;gt;Alt+q&amp;lt;/code&amp;gt; etc. A window can be changed via command as well -- &amp;lt;code&amp;gt;/window #&amp;lt;/code&amp;gt;. To close window, type &amp;lt;code&amp;gt;/wc #&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Channel and user configuration ==&lt;br /&gt;
&lt;br /&gt;
===Name===&lt;br /&gt;
&lt;br /&gt;
Default nickname (under Ubuntu) will be the computer username. To change it type &amp;lt;code&amp;gt;/nick new-username&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nickname registration is beneficial if one is planning on staying for longer. Also registration prevents nickname abuse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/msg nickserv REGISTER &amp;lt;password&amp;gt; &amp;lt;email&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Channels (chat rooms) ===&lt;br /&gt;
&lt;br /&gt;
*To list all chat rooms type &amp;lt;code&amp;gt;/list&amp;lt;/code&amp;gt; Might not be a good idea to do, considering there are about 12 000 channels. To search for a specific channel might be more useful to search via browser or know beforehand what channel you want to join.&lt;br /&gt;
&lt;br /&gt;
*Joining you can omit the number sign (#) &amp;lt;code&amp;gt;/join itcollege&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*If the channel is unregistered, connected user will receive op (+o more info below) upon entering. Channel can be registered by following command &amp;lt;code&amp;gt;/cs register #channel channelpassword channeldescription&amp;lt;/code&amp;gt;&lt;br /&gt;
** Channelpassword is required to get or give channel ownership access.&lt;br /&gt;
** Channeldescription is also required, containing description (duh) or channel purpose.&lt;br /&gt;
&lt;br /&gt;
*Away message: &amp;lt;code&amp;gt;/away msg&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Quit message: &amp;lt;code&amp;gt;/quit quitmsg&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*User query: &amp;lt;code&amp;gt;/q &amp;lt;nick&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*List users in a channel: &amp;lt;code&amp;gt;/n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Private message a user: &amp;lt;code&amp;gt;/m &amp;lt;nick&amp;gt; message&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Display a channels topic: &amp;lt;code&amp;gt;/topic&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Perform an action: &amp;lt;code&amp;gt;/me scratches his nose&amp;lt;/code&amp;gt; will look like &amp;lt;code&amp;gt;&amp;lt;nick&amp;gt; scratches his nose&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To mark yourself as away: &amp;lt;code&amp;gt;/away away_message&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== User Flags (Roles) ===&lt;br /&gt;
&lt;br /&gt;
Flags give user control rights or take them away (operator vs banned for example).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+voice&amp;lt;/code&amp;gt; - Enables use of the voice/devoice commands (who can or cannot speak).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+autovoice&amp;lt;/code&amp;gt; - Enables automatic voice.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+halfop&amp;lt;/code&amp;gt; - Enables use of the halfop/dehalfop commands (half rights of op).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+autohalfop&amp;lt;/code&amp;gt; - Enables automatic halfop.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+op&amp;lt;/code&amp;gt; - Enables use of the op/deop commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+autoop&amp;lt;/code&amp;gt; - Enables automatic op.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+protect&amp;lt;/code&amp;gt; - Enables use of the protect/deprotect commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+owner&amp;lt;/code&amp;gt; - Enables use of the owner/deowner commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+set&amp;lt;/code&amp;gt; - Enables use of the set command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+invite&amp;lt;/code&amp;gt; - Enables use of the invite and getkey commands. For example, when a channel is set to secret.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+remove&amp;lt;/code&amp;gt; - Enables use of the kick, kickban, ban and unban &lt;br /&gt;
commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+remove&amp;lt;/code&amp;gt; - Enables use of the ban and unban commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+remove&amp;lt;/code&amp;gt; - Enables use of the unban command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+recover&amp;lt;/code&amp;gt; - Enables use of the recover and clear commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+acl-change&amp;lt;/code&amp;gt; - Enables modification of channel access &lt;br /&gt;
lists.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+topic&amp;lt;/code&amp;gt; - Enables use of the topic and topicappend commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+acl-view&amp;lt;/code&amp;gt; - Enables viewing of channel access lists.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+successor&amp;lt;/code&amp;gt; Marks the user as a successor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+founder&amp;lt;/code&amp;gt; Grants full founder access.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+banned&amp;lt;/code&amp;gt; Enables automatic kickban.&lt;br /&gt;
&lt;br /&gt;
Previous has been copied from [http://www.stack.nl/~jilles/irc/atheme-help/ Jilles&#039;] ChanServ Atheme (IRC service platform) help file and a local copy can be [http://enos.itcollege.ee/~akerge/irc/ found here].&lt;br /&gt;
&lt;br /&gt;
*For more thorough channel guide, please see the following file from [http://irchelp.org/irchelp/changuide.html IRC help].&lt;br /&gt;
&lt;br /&gt;
== Further Customization ==&lt;br /&gt;
&lt;br /&gt;
To make life easier [https://scripts.irssi.org/ scripts] and [https://irssi-import.github.io/themes/ themes] with further documentation can be found on on [https://irssi.org/ irssi] homepage.&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
This was a short introduction to IRC and Irssi on command line. So far the best program with minimal GUI that helps user to concentrate on the most important part of IRC - text.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
https://www.cygwin.com/&lt;br /&gt;
&lt;br /&gt;
http://icecap.irssi2.org/&lt;br /&gt;
&lt;br /&gt;
https://irssi.org/download/&lt;br /&gt;
&lt;br /&gt;
http://www.stack.nl/~jilles/irc/atheme-help/&lt;br /&gt;
&lt;br /&gt;
http://irchelp.org/irchelp/changuide.html&lt;br /&gt;
&lt;br /&gt;
https://scripts.irssi.org/&lt;br /&gt;
&lt;br /&gt;
https://irssi-import.github.io/themes/&lt;br /&gt;
&lt;br /&gt;
https://irssi.org/&lt;br /&gt;
&lt;br /&gt;
http://www.linux.org/threads/irssi-for-beginners.4181/&lt;br /&gt;
&lt;br /&gt;
http://www.antonfagerberg.com/blog/my-perfect-irssi-setup/&lt;br /&gt;
&lt;br /&gt;
http://www.irchelp.org/irchelp/irctutorial.html&lt;br /&gt;
&lt;br /&gt;
At the time of writing a [http://blog.freenode.net/2016/02/recent-events-and-future-changes/ post has appeared on freenode staff blog] rendering their [http://freenode.net/faq.shtml FAQ page] unusable.&lt;br /&gt;
&lt;br /&gt;
Created and edited by [[User:akerge|Artur Kerge]] in Spring of 2016&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Irssi&amp;diff=104325</id>
		<title>Irssi</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Irssi&amp;diff=104325"/>
		<updated>2016-06-05T10:35:30Z</updated>

		<summary type="html">&lt;p&gt;Akerge: added flags&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Irssi.png|thumb|right|alt=A screenshot of Irssi in action.|Irssi screenshot with /nick command entered.]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The&#039;&#039;&#039; command line IRC client. Irssi is FOSS (licensed under the GPLv2) and is available for Linux, BSD, Solaris, Apple and with [https://www.cygwin.com/ Cygwin] on Windows. It was developed by [http://icecap.irssi2.org/ Timo Sirainen] and was released in the beginning of 1999. It is highly customizable, for example with themes and it is possible to to use other instant messaging communication through it.&lt;br /&gt;
&lt;br /&gt;
== Installing ==&lt;br /&gt;
&lt;br /&gt;
With other package managers, distros and platforms, please see the [https://irssi.org/download/ following link].&lt;br /&gt;
&lt;br /&gt;
With apt: &lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;code&amp;gt;sudo apt-get install irssi&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is rather light-weight, being only 2 392 kB on disk.&lt;br /&gt;
&lt;br /&gt;
== Getting around ==&lt;br /&gt;
&lt;br /&gt;
=== Connecting ===&lt;br /&gt;
There are several IRC servers still alive and going strong. In this example we shall be connecting to the closest freenode server, located in Finland. Physical distance is not an issue nowadays, but imagine being stuck on a 56 kB modem with top speeds through dial-up and the copper wire being about 12 kB, maxing out at 30 kB, if local.&lt;br /&gt;
&lt;br /&gt;
* Open terminal (Ctrl+Alt+T) and type: &amp;lt;code&amp;gt;irssi&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;/connect rajaniemi.freenode.net&amp;lt;/code&amp;gt; Closest freenode server.&lt;br /&gt;
* &amp;lt;code&amp;gt;/join itcollege&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Joining channels usually requires a #-sign, for example #mozilla. Irssi adds it behind the scenes so it can be omitted.&lt;br /&gt;
&lt;br /&gt;
=== Window Switching ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Alt+#&amp;lt;/code&amp;gt; combination is used for window switching. For more than nine windows, the row below numbers will be used, for example key combination &amp;lt;code&amp;gt;Alt+q&amp;lt;/code&amp;gt; etc. A window can be changed via command as well -- &amp;lt;code&amp;gt;/window #&amp;lt;/code&amp;gt;. To close window, type &amp;lt;code&amp;gt;/wc #&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Channel and user configuration ==&lt;br /&gt;
&lt;br /&gt;
===Name===&lt;br /&gt;
&lt;br /&gt;
Default nickname (under Ubuntu) will be the computer username. To change it type &amp;lt;code&amp;gt;/nick new-username&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nickname registration is beneficial if one is planning on staying for longer. Also registration prevents nickname abuse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/msg nickserv REGISTER &amp;lt;password&amp;gt; &amp;lt;email&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Channels (chat rooms) ===&lt;br /&gt;
&lt;br /&gt;
*To list all chat rooms type &amp;lt;code&amp;gt;/list&amp;lt;/code&amp;gt; Might not be a good idea to do, considering there are about 12 000 channels. To search for a specific channel might be more useful to search via browser or know beforehand what channel you want to join.&lt;br /&gt;
&lt;br /&gt;
*Joining you can omit the number sign (#) &amp;lt;code&amp;gt;/join itcollege&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*If the channel is unregistered, connected user will receive op (+o more info below) upon entering. Channel can be registered by following command &amp;lt;code&amp;gt;/cs register #channel channelpassword channeldescription&amp;lt;/code&amp;gt;&lt;br /&gt;
** Channelpassword is required to get or give channel ownership access.&lt;br /&gt;
** Channeldescription is also required, containing description (duh) or channel purpose.&lt;br /&gt;
&lt;br /&gt;
*Away message: &amp;lt;code&amp;gt;/away msg&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Quit message: &amp;lt;code&amp;gt;/quit quitmsg&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*User query: &amp;lt;code&amp;gt;/q &amp;lt;nick&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*List users in a channel: &amp;lt;code&amp;gt;/n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Private message a user: &amp;lt;code&amp;gt;/m &amp;lt;nick&amp;gt; message&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Display a channels topic: &amp;lt;code&amp;gt;/topic&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Perform an action: &amp;lt;code&amp;gt;/me scratches his nose&amp;lt;/code&amp;gt; will look like &amp;lt;code&amp;gt;&amp;lt;nick&amp;gt; scratches his nose&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To mark yourself as away: &amp;lt;code&amp;gt;/away away_message&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== User Flags ===&lt;br /&gt;
&lt;br /&gt;
Following has been copied from [http://www.stack.nl/~jilles/irc/atheme-help/ Jilles&#039;] Atheme (IRC service platform) help and a local copy can be [http://enos.itcollege.ee/~akerge/irc/ found here].&lt;br /&gt;
&lt;br /&gt;
Flags give user rights or take them away (operator vs banned for example).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+voice&amp;lt;/code&amp;gt; - Enables use of the voice/devoice commands (who can or cannot speak).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+autovoice&amp;lt;/code&amp;gt; - Enables automatic voice.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+halfop&amp;lt;/code&amp;gt; - Enables use of the halfop/dehalfop commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+autohalfop&amp;lt;/code&amp;gt; - Enables automatic halfop.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+op&amp;lt;/code&amp;gt; - Enables use of the op/deop commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+autoop&amp;lt;/code&amp;gt; - Enables automatic op.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+protect&amp;lt;/code&amp;gt; - Enables use of the protect/deprotect commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+owner&amp;lt;/code&amp;gt; - Enables use of the owner/deowner commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+set&amp;lt;/code&amp;gt; - Enables use of the set command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+invite&amp;lt;/code&amp;gt; - Enables use of the invite and getkey commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+remove&amp;lt;/code&amp;gt; - Enables use of the kick, kickban, ban and unban &lt;br /&gt;
commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+remove&amp;lt;/code&amp;gt; - Enables use of the ban and unban commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+remove&amp;lt;/code&amp;gt; - Enables use of the unban command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+recover&amp;lt;/code&amp;gt; - Enables use of the recover and clear commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+acl-change&amp;lt;/code&amp;gt; - Enables modification of channel access &lt;br /&gt;
lists.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+topic&amp;lt;/code&amp;gt; - Enables use of the topic and topicappend commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+acl-view&amp;lt;/code&amp;gt; - Enables viewing of channel access lists.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+successor&amp;lt;/code&amp;gt; Marks the user as a successor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+founder&amp;lt;/code&amp;gt; Grants full founder access.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;+banned&amp;lt;/code&amp;gt; Enables automatic kickban.&lt;br /&gt;
&lt;br /&gt;
*For more thorough channel guide, please see the following file from [http://irchelp.org/irchelp/changuide.html IRC help].&lt;br /&gt;
&lt;br /&gt;
== Further Customization ==&lt;br /&gt;
&lt;br /&gt;
To make life easier [https://scripts.irssi.org/ scripts] and [https://irssi-import.github.io/themes/ themes] with further documentation can be found on on [https://irssi.org/ irssi] homepage.&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
This was a short introduction to IRC and Irssi on command line. So far the best program with minimal GUI that helps user to concentrate on the most important part of IRC - text.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
https://www.cygwin.com/&lt;br /&gt;
&lt;br /&gt;
http://icecap.irssi2.org/&lt;br /&gt;
&lt;br /&gt;
https://irssi.org/download/&lt;br /&gt;
&lt;br /&gt;
http://www.stack.nl/~jilles/irc/atheme-help/&lt;br /&gt;
&lt;br /&gt;
http://irchelp.org/irchelp/changuide.html&lt;br /&gt;
&lt;br /&gt;
https://scripts.irssi.org/&lt;br /&gt;
&lt;br /&gt;
https://irssi-import.github.io/themes/&lt;br /&gt;
&lt;br /&gt;
https://irssi.org/&lt;br /&gt;
&lt;br /&gt;
http://www.linux.org/threads/irssi-for-beginners.4181/&lt;br /&gt;
&lt;br /&gt;
http://www.antonfagerberg.com/blog/my-perfect-irssi-setup/&lt;br /&gt;
&lt;br /&gt;
http://www.irchelp.org/irchelp/irctutorial.html&lt;br /&gt;
&lt;br /&gt;
At the time of writing a [http://blog.freenode.net/2016/02/recent-events-and-future-changes/ post has appeared on freenode staff blog] rendering their [http://freenode.net/faq.shtml FAQ page] unusable.&lt;br /&gt;
&lt;br /&gt;
Created and edited by [[User:akerge|Artur Kerge]] in Spring of 2016&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Irssi&amp;diff=104321</id>
		<title>Irssi</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Irssi&amp;diff=104321"/>
		<updated>2016-06-04T11:31:03Z</updated>

		<summary type="html">&lt;p&gt;Akerge: added summary&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
[[File:Irssi.png|thumb|right|alt=A screenshot of Irssi in action.|Irssi screenshot with /nick command entered.]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The&#039;&#039;&#039; command line IRC client. Irssi is FOSS (licensed under the GPLv2) and is available for Linux, BSD, Solaris, Apple and with [https://www.cygwin.com/ Cygwin] on Windows. It was developed by [http://icecap.irssi2.org/ Timo Sirainen] and was released in the beginning of 1999. It is highly customizable, for example with themes and it is possible to to use other instant messaging communication through it.&lt;br /&gt;
&lt;br /&gt;
== Installing ==&lt;br /&gt;
&lt;br /&gt;
With other package managers, distros and platforms, please see the [https://irssi.org/download/ following link].&lt;br /&gt;
&lt;br /&gt;
With apt: &amp;lt;code&amp;gt;sudo apt-get install irssi&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is rather light-weight, being only 2 392 kB on disk.&lt;br /&gt;
&lt;br /&gt;
== Getting around ==&lt;br /&gt;
&lt;br /&gt;
=== Connecting ===&lt;br /&gt;
There are several IRC servers still alive and going strong. In this example we shall be connecting to the closest freenode server, located in Finland. Physical distance is not an issue nowadays, but imagine being stuck on a 56 kB modem with top speeds through dial-up and the copper wire being about 12 kB, maxing out at 30 kB, if local.&lt;br /&gt;
&lt;br /&gt;
* Open terminal (Ctrl+Alt+T) and type: &amp;lt;code&amp;gt;irssi&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;/connect rajaniemi.freenode.net&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Closest freenode server.&lt;br /&gt;
* &amp;lt;code&amp;gt;/join itcollege&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Joining channels usually requires a #-sign, for example #mozilla. Irssi adds it behind the scenes so it can be omitted.&lt;br /&gt;
&lt;br /&gt;
=== Window Switching ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Alt+#&amp;lt;/code&amp;gt; combination is used for window switching. For more than nine windows, the row below numbers will be used, for example key combination &amp;lt;code&amp;gt;Alt+q&amp;lt;/code&amp;gt; etc. A window can be changed via command as well -- &amp;lt;code&amp;gt;/window #&amp;lt;/code&amp;gt;. To close window, type &amp;lt;code&amp;gt;/wc #&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Name===&lt;br /&gt;
&lt;br /&gt;
Your default nickname (under Ubuntu) will be your computer username. You can change it by entering &amp;lt;code&amp;gt;/nick your-new-username&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should register your nickname if you plan staying for longer and don&#039;t want anyone to abuse it, by messaging NickServ &amp;lt;code&amp;gt;/msg nickserv REGISTER &amp;lt;password&amp;gt; &amp;lt;email&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Channels (chat rooms) ===&lt;br /&gt;
&lt;br /&gt;
*To list all chat rooms type &amp;lt;code&amp;gt;/list&amp;lt;/code&amp;gt; Might not be a good idea to do, considering there are about 12 000 channels. To search for a specific channel might be more useful to search via browser or know beforehand where you want to connect to.&lt;br /&gt;
&lt;br /&gt;
*Joining you can omit the number sign (#) &amp;lt;code&amp;gt;/join itcollege&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Away message: &amp;lt;code&amp;gt;/away msg&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Quit message: &amp;lt;code&amp;gt;/quit quitmsg&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*User query: &amp;lt;code&amp;gt;/q &amp;lt;nick&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*List users in a channel: &amp;lt;code&amp;gt;/n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Private message a user: &amp;lt;code&amp;gt;/m &amp;lt;nick&amp;gt; message&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Display a channels topic: &amp;lt;code&amp;gt;/topic&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Perform an action: &amp;lt;code&amp;gt;/me scratches his nose&amp;lt;/code&amp;gt; will look like &amp;lt;code&amp;gt;&amp;lt;nick&amp;gt; scratches his nose&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To mark yourself as away: &amp;lt;code&amp;gt;/away away_message&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Customization ==&lt;br /&gt;
&lt;br /&gt;
To make life easier [https://scripts.irssi.org/ scripts] and [https://irssi-import.github.io/themes/ themes] with further documentation can be found on on [https://irssi.org/ irssi] homepage.&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
This was a short introduction to IRC and Irssi on command line. So far the best program with minimal GUI that helps user to concentrate on the most important part of IRC - text.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
https://www.cygwin.com/&lt;br /&gt;
&lt;br /&gt;
http://icecap.irssi2.org/&lt;br /&gt;
&lt;br /&gt;
https://irssi.org/download/&lt;br /&gt;
&lt;br /&gt;
https://scripts.irssi.org/&lt;br /&gt;
&lt;br /&gt;
https://irssi-import.github.io/themes/&lt;br /&gt;
&lt;br /&gt;
https://irssi.org/&lt;br /&gt;
&lt;br /&gt;
http://www.linux.org/threads/irssi-for-beginners.4181/&lt;br /&gt;
&lt;br /&gt;
http://www.antonfagerberg.com/blog/my-perfect-irssi-setup/&lt;br /&gt;
&lt;br /&gt;
http://www.irchelp.org/irchelp/irctutorial.html&lt;br /&gt;
&lt;br /&gt;
At the time of writing a [http://blog.freenode.net/2016/02/recent-events-and-future-changes/ post has appeared on freenode staff blog] rendering their [http://freenode.net/faq.shtml FAQ page] unusable.&lt;br /&gt;
&lt;br /&gt;
Created and edited by [[User:akerge|Artur Kerge]] in Spring of 2016&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Irssi&amp;diff=104320</id>
		<title>Irssi</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Irssi&amp;diff=104320"/>
		<updated>2016-06-04T11:24:27Z</updated>

		<summary type="html">&lt;p&gt;Akerge: edited links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
[[File:Irssi.png|thumb|right|alt=A screenshot of Irssi in action.|Irssi screenshot with /nick command entered.]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The&#039;&#039;&#039; command line IRC client. Irssi is FOSS (licensed under the GPLv2) and is available for Linux, BSD, Solaris, Apple and with [https://www.cygwin.com/ Cygwin] on Windows. It was developed by [http://icecap.irssi2.org/ Timo Sirainen] and was released in the beginning of 1999. It is highly customizable, for example with themes and it is possible to to use other instant messaging communication through it.&lt;br /&gt;
&lt;br /&gt;
== Installing ==&lt;br /&gt;
&lt;br /&gt;
With other package managers, distros and platforms, please see the [https://irssi.org/download/ following link].&lt;br /&gt;
&lt;br /&gt;
With apt: &amp;lt;code&amp;gt;sudo apt-get install irssi&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is rather light-weight, being only 2 392 kB on disk.&lt;br /&gt;
&lt;br /&gt;
== Getting around ==&lt;br /&gt;
&lt;br /&gt;
=== Connecting ===&lt;br /&gt;
There are several IRC servers still alive and going strong. In this example we shall be connecting to the closest freenode server, located in Finland. Physical distance is not an issue nowadays, but imagine being stuck on a 56 kB modem with top speeds through dial-up and the copper wire being about 12 kB, maxing out at 30 kB, if local.&lt;br /&gt;
&lt;br /&gt;
* Open terminal (Ctrl+Alt+T) and type: &amp;lt;code&amp;gt;irssi&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;/connect rajaniemi.freenode.net&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;/join itcollege&amp;lt;/code&amp;gt; joining channels usually requires a #-sign, for example #mozilla. Irssi adds it for you behind the scenes so you can omit it &lt;br /&gt;
&lt;br /&gt;
=== Window Switching ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Alt+#&amp;lt;/code&amp;gt; combination is used for window switching. For more than nine windows, the row below numbers will be used, for example key combination &amp;lt;code&amp;gt;Alt+q&amp;lt;/code&amp;gt; etc. A window can be changed via command as well -- &amp;lt;code&amp;gt;/window #&amp;lt;/code&amp;gt;. To close window, type &amp;lt;code&amp;gt;/wc #&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Name===&lt;br /&gt;
&lt;br /&gt;
Your default nickname (under Ubuntu) will be your computer username. You can change it by entering &amp;lt;code&amp;gt;/nick your-new-username&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should register your nickname if you plan staying for longer and don&#039;t want anyone to abuse it, by messaging NickServ &amp;lt;code&amp;gt;/msg nickserv REGISTER &amp;lt;password&amp;gt; &amp;lt;email&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Channels (chat rooms) ===&lt;br /&gt;
&lt;br /&gt;
*To list all chat rooms type &amp;lt;code&amp;gt;/list&amp;lt;/code&amp;gt; Might not be a good idea to do, considering there are about 12 000 channels. To search for a specific channel might be more useful to search via browser or know beforehand where you want to connect to.&lt;br /&gt;
&lt;br /&gt;
*Joining you can omit the number sign (#) &amp;lt;code&amp;gt;/join itcollege&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Away message: &amp;lt;code&amp;gt;/away msg&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Quit message: &amp;lt;code&amp;gt;/quit quitmsg&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*User query: &amp;lt;code&amp;gt;/q &amp;lt;nick&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*List users in a channel: &amp;lt;code&amp;gt;/n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Private message a user: &amp;lt;code&amp;gt;/m &amp;lt;nick&amp;gt; message&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Display a channels topic: &amp;lt;code&amp;gt;/topic&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Perform an action: &amp;lt;code&amp;gt;/me scratches his nose&amp;lt;/code&amp;gt; will look like &amp;lt;code&amp;gt;&amp;lt;nick&amp;gt; scratches his nose&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To mark yourself as away: &amp;lt;code&amp;gt;/away away_message&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Customization ==&lt;br /&gt;
&lt;br /&gt;
To make life easier [https://scripts.irssi.org/ scripts] and [https://irssi-import.github.io/themes/ themes] with further documentation can be found on on [https://irssi.org/ irssi] homepage.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
https://www.cygwin.com/&lt;br /&gt;
&lt;br /&gt;
http://icecap.irssi2.org/&lt;br /&gt;
&lt;br /&gt;
https://irssi.org/download/&lt;br /&gt;
&lt;br /&gt;
https://scripts.irssi.org/&lt;br /&gt;
&lt;br /&gt;
https://irssi-import.github.io/themes/&lt;br /&gt;
&lt;br /&gt;
https://irssi.org/&lt;br /&gt;
&lt;br /&gt;
http://www.linux.org/threads/irssi-for-beginners.4181/&lt;br /&gt;
&lt;br /&gt;
http://www.antonfagerberg.com/blog/my-perfect-irssi-setup/&lt;br /&gt;
&lt;br /&gt;
http://www.irchelp.org/irchelp/irctutorial.html&lt;br /&gt;
&lt;br /&gt;
At the time of writing a [http://blog.freenode.net/2016/02/recent-events-and-future-changes/ post has appeared on freenode staff blog] rendering their [http://freenode.net/faq.shtml FAQ page] unusable.&lt;br /&gt;
&lt;br /&gt;
Created and edited by [[User:akerge|Artur Kerge]] in Spring of 2016&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User_talk:Akerge&amp;diff=103543</id>
		<title>User talk:Akerge</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User_talk:Akerge&amp;diff=103543"/>
		<updated>2016-05-17T07:16:00Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* Statisticks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
===Homeworks===&lt;br /&gt;
&lt;br /&gt;
==Statisticks==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;del&amp;gt;Finish [https://www.udemy.com/r-basics/ Udemy R basics course].&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Review first 10 minutes of 22.03.16 lecture.&lt;br /&gt;
Starting from page 203 from &amp;quot;Introduction to Statistics&amp;quot;, including Binomial, Poisson, multinomial distributions until 7th chapter regarding normal distributions. What is a normal deviation? What is a percentile? Finish the exercises.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From the book&#039;&#039;&#039;&lt;br /&gt;
* Probability density function&lt;br /&gt;
* Bernoulli trials (Binomial Probability Formula)&lt;br /&gt;
* Cumulative distribution&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
pnorm&lt;br /&gt;
&lt;br /&gt;
qnorm&lt;br /&gt;
&lt;br /&gt;
dnorm&lt;br /&gt;
etc.&lt;br /&gt;
&lt;br /&gt;
runif(n,a,b)&lt;br /&gt;
&lt;br /&gt;
dunif(x,a,b)&lt;br /&gt;
&lt;br /&gt;
punif(x,a,b)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Central Limit Theorem&lt;br /&gt;
All of the above can be found from  pages 203–211 and 249–272.&lt;br /&gt;
&lt;br /&gt;
Also:&lt;br /&gt;
 &lt;br /&gt;
* Advanced Graphics from pages 273–299:&lt;br /&gt;
** qq-plots – to compare distributions&lt;br /&gt;
** Cumulative distribution function (CDF)&lt;br /&gt;
** Contour plots&lt;br /&gt;
** 3D plots (rgl lib)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Midterm exam retake is on 29th of April from 8 &#039;til 10.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Review the practice video of 19th of April, last 30 min.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Go through (watch) these courses:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [https://www.khanacademy.org/math/probability/statistics-inferential Inferential Statistics]&lt;br /&gt;
* [https://www.khanacademy.org/math/probability/descriptive-statistics Descriptive Statistics]&lt;br /&gt;
* Read the corresponding chapters in Online Stat Book &amp;amp; finish the exercises&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TO READ from lectures&#039;&#039;&#039;&lt;br /&gt;
*12.04 Sampling Distribution &lt;br /&gt;
*19.04 Sampling Distributions, p. 300-328&lt;br /&gt;
*26.04 Estimation, p. 329-369&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Shapiro%E2%80%93Wilk_test Shapiro-Wilk test]&lt;br /&gt;
&lt;br /&gt;
==OS&#039;s==&lt;br /&gt;
Review [[Operating_systems#Lecture_2|homework]]&lt;br /&gt;
&lt;br /&gt;
==Python==&lt;br /&gt;
Finish CodeCademy course!&lt;br /&gt;
&lt;br /&gt;
Do [http://codingbat.com/python CodingBat exercises] daily!&lt;br /&gt;
&lt;br /&gt;
Start programming with Raspberry!&lt;br /&gt;
&lt;br /&gt;
Review 17.03 lectures&lt;br /&gt;
&lt;br /&gt;
REVIEW YaLP with bpython&lt;br /&gt;
&lt;br /&gt;
==Web Dev==&lt;br /&gt;
* Finish SQLite track on Codecademy&lt;br /&gt;
* Get on track with the Lauri&#039;s git&lt;br /&gt;
* Standalone temperature monitor that can be used without external power and the curve output to a web page.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exam:&#039;&#039;&#039;&lt;br /&gt;
* Up to 3 tables&lt;br /&gt;
* Up to 5 views&lt;br /&gt;
* Able to write PHP&lt;br /&gt;
* Able to write SQL: select, join, insert, update&lt;br /&gt;
** Has to avoid SQL injections!&lt;br /&gt;
* Has to use cookies&lt;br /&gt;
* Validate W3C validator&lt;br /&gt;
* Basic CSS (Desktop + Mobile)&lt;br /&gt;
* Basic JS (ajax?)&lt;br /&gt;
* DEPLOYMENT&lt;br /&gt;
&lt;br /&gt;
Twiddle with this https://beta.hacksaw.academy/&lt;br /&gt;
&lt;br /&gt;
==InfoSys Analysis==&lt;br /&gt;
Keep an eye on workshops and quizzes.&lt;br /&gt;
&lt;br /&gt;
==Intro to Cybersec==&lt;br /&gt;
* &#039;&#039;&#039; Review first 20 min of 06.04.2016 lecture&#039;&#039;&#039;&lt;br /&gt;
** EIK 2016&lt;br /&gt;
* Keep an eye on what&#039;s happening in Cybersec industry. Enforce the habit&lt;br /&gt;
* What will be the presentation topic(/demo) ?&lt;br /&gt;
&lt;br /&gt;
==Networking==&lt;br /&gt;
Finish networking labs and exam ASAP!&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User_talk:Akerge&amp;diff=103373</id>
		<title>User talk:Akerge</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User_talk:Akerge&amp;diff=103373"/>
		<updated>2016-05-10T09:16:42Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* Statisticks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
===Homeworks===&lt;br /&gt;
&lt;br /&gt;
==Statisticks==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;del&amp;gt;Finish [https://www.udemy.com/r-basics/ Udemy R basics course].&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Review first 10 minutes of 22.03.16 lecture.&lt;br /&gt;
Starting from page 203 from &amp;quot;Introduction to Statistics&amp;quot;, including Binomial, Poisson, multinomial distributions until 7th chapter regarding normal distributions. What is a normal deviation? What is a percentile? Finish the exercises.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From the book&#039;&#039;&#039;&lt;br /&gt;
* Probability density function&lt;br /&gt;
* Bernoulli trials (Binomial Probability Formula)&lt;br /&gt;
* Cumulative distribution&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
pnorm&lt;br /&gt;
&lt;br /&gt;
qnorm&lt;br /&gt;
&lt;br /&gt;
dnorm&lt;br /&gt;
etc.&lt;br /&gt;
&lt;br /&gt;
runif(n,a,b)&lt;br /&gt;
&lt;br /&gt;
dunif(x,a,b)&lt;br /&gt;
&lt;br /&gt;
punif(x,a,b)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Central Limit Theorem&lt;br /&gt;
All of the above can be found from  pages 203–211 and 249–272.&lt;br /&gt;
&lt;br /&gt;
Also:&lt;br /&gt;
 &lt;br /&gt;
* Advanced Graphics from pages 273–299:&lt;br /&gt;
** qq-plots – to compare distributions&lt;br /&gt;
** Cumulative distribution function (CDF)&lt;br /&gt;
** Contour plots&lt;br /&gt;
** 3D plots (rgl lib)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Midterm exam retake is on 29th of April from 8 &#039;til 10.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Review the practice video of 19th of April, last 30 min.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Go through (watch) these courses:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [https://www.khanacademy.org/math/probability/statistics-inferential Inferential Statistics]&lt;br /&gt;
* [https://www.khanacademy.org/math/probability/descriptive-statistics Descriptive Statistics]&lt;br /&gt;
* Read the corresponding chapters in Online Stat Book &amp;amp; finish the exercises&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TO READ from lectures&#039;&#039;&#039;&lt;br /&gt;
*12.04 Sampling Distribution &lt;br /&gt;
*19.04 Sampling Distributions, p. 300-328&lt;br /&gt;
*26.04 Estimation, p. 329-369&lt;br /&gt;
&lt;br /&gt;
==OS&#039;s==&lt;br /&gt;
Review [[Operating_systems#Lecture_2|homework]]&lt;br /&gt;
&lt;br /&gt;
==Python==&lt;br /&gt;
Finish CodeCademy course!&lt;br /&gt;
&lt;br /&gt;
Do [http://codingbat.com/python CodingBat exercises] daily!&lt;br /&gt;
&lt;br /&gt;
Start programming with Raspberry!&lt;br /&gt;
&lt;br /&gt;
Review 17.03 lectures&lt;br /&gt;
&lt;br /&gt;
REVIEW YaLP with bpython&lt;br /&gt;
&lt;br /&gt;
==Web Dev==&lt;br /&gt;
* Finish SQLite track on Codecademy&lt;br /&gt;
* Get on track with the Lauri&#039;s git&lt;br /&gt;
* Standalone temperature monitor that can be used without external power and the curve output to a web page.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exam:&#039;&#039;&#039;&lt;br /&gt;
* Up to 3 tables&lt;br /&gt;
* Up to 5 views&lt;br /&gt;
* Able to write PHP&lt;br /&gt;
* Able to write SQL: select, join, insert, update&lt;br /&gt;
** Has to avoid SQL injections!&lt;br /&gt;
* Has to use cookies&lt;br /&gt;
* Validate W3C validator&lt;br /&gt;
* Basic CSS (Desktop + Mobile)&lt;br /&gt;
* Basic JS (ajax?)&lt;br /&gt;
* DEPLOYMENT&lt;br /&gt;
&lt;br /&gt;
Twiddle with this https://beta.hacksaw.academy/&lt;br /&gt;
&lt;br /&gt;
==InfoSys Analysis==&lt;br /&gt;
Keep an eye on workshops and quizzes.&lt;br /&gt;
&lt;br /&gt;
==Intro to Cybersec==&lt;br /&gt;
* &#039;&#039;&#039; Review first 20 min of 06.04.2016 lecture&#039;&#039;&#039;&lt;br /&gt;
** EIK 2016&lt;br /&gt;
* Keep an eye on what&#039;s happening in Cybersec industry. Enforce the habit&lt;br /&gt;
* What will be the presentation topic(/demo) ?&lt;br /&gt;
&lt;br /&gt;
==Networking==&lt;br /&gt;
Finish networking labs and exam ASAP!&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Akerge&amp;diff=103372</id>
		<title>User:Akerge</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Akerge&amp;diff=103372"/>
		<updated>2016-05-10T09:09:20Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* Semester 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As the study builds up bit by bit, then,&lt;br /&gt;
&amp;lt;blockquote&amp;gt;He, who collects no bit, gets no byte!&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This is a work in progress:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Survival Guide for Students of Cybersecurity Engineering (CSE) =&lt;br /&gt;
&lt;br /&gt;
This is an ongoing project from the alpha tester. All suggestions are purely recommendations that I wish I knew before the beginning of the school. &lt;br /&gt;
&lt;br /&gt;
Prepare to your [[#Mindset | mindset]], as the first semester will be the most challenging and it should get easier once you [https://www.thrillist.com/health/nation/how-to-become-a-morning-person acquire the rhythm that suits] best for you. The tempo for studying is somewhat high if you haven&#039;t in a while or come from straight out of college without any previous knowledge of computers. Make mistakes, ask questions, put in some effort and you&#039;ll be fine.&lt;br /&gt;
&lt;br /&gt;
= Mindset =&lt;br /&gt;
[[File:Mindset.gif|200px|thumb|right|alt=Fixed vs growth mindset graphic.|Fixed vs growth mindset. Author of the graphic is [http://nigelholmes.com/ Nigel Holmes.] You can [http://www.zazzle.com/mindset_poster_by_nigel_holmes-228303290595592374 order a print from here.]]]&lt;br /&gt;
Write down why you decided to apply to this school, for this curriculum. If you haven&#039;t done so far, accept your to mistakes. Nobody&#039;s perfect and that&#039;s how we learn -- by making mistakes. Putting in effort goes a long way. Here are some helpful questions that I copied from [http://www.amazon.co.uk/Mindset-How-Fulfil-Your-Potential/dp/1780332009/ Carol S. Dweck&#039;s book &amp;quot;Mindset&amp;quot;]:&lt;br /&gt;
&lt;br /&gt;
*What are the opportunities for learning and growth today?&lt;br /&gt;
*When, where and how will I embark on my plan?&lt;br /&gt;
*When, where and how will I act on my new plan?&lt;br /&gt;
&lt;br /&gt;
= Before the Start of Academical Year =&lt;br /&gt;
&lt;br /&gt;
In order of importance. Or not, take your pick what&#039;s important to you.&lt;br /&gt;
&lt;br /&gt;
* Follow the news of the industry if you don&#039;t do so already. Get a RSS/Atom reader and follow the various news feeds.&lt;br /&gt;
&lt;br /&gt;
* Read [https://en.wikipedia.org/wiki/The_Hacker_Ethic_and_the_Spirit_of_the_Information_Age &#039;Hacker ethic&#039; by Pekka Himanen].&lt;br /&gt;
&lt;br /&gt;
* Familiarise yourself with Discrete Math ∨ suffer. One can find several books online, although printed ones are superior to electronic ones, unless one prefers e-readers. Second hand books in a readable state are rather cheap online. See [[#Textbooks for Discrete Math|list of math textbooks]] in booksellers list in [[#Resources|resources]]. Bear in mind that one book is enough and I&#039;ve heard that it may be even possible to find such books online in PDF format.&lt;br /&gt;
&lt;br /&gt;
* Learn JAVA as much as you can before, so you can study more in class and/or do your project meanwhile. See [[#Learning resources|list of learning resources]] for links.&lt;br /&gt;
* If possible, move closer to school or dormitory to cut down time on the commute.&lt;br /&gt;
* Learn to cook. By cooking I don&#039;t mean seasoning boiled noodles. [http://imgur.com/a/XGaog Here&#039;s a fine example].&lt;br /&gt;
&lt;br /&gt;
= During =&lt;br /&gt;
Majority of the following can be started before the beginning of school year to get in gear.&lt;br /&gt;
* &#039;&#039;&#039;Learn to learn&#039;&#039;&#039;. This is the most difficult part. &lt;br /&gt;
* &#039;&#039;&#039;Structure your time&#039;&#039;&#039;. Congrats if you&#039;re doing well with it.&lt;br /&gt;
* Try to &#039;&#039;&#039;keep developing the learning habit and stick to the routine&#039;&#039;&#039; or figure out what works best for you.&lt;br /&gt;
* &#039;&#039;&#039;There are no stupid questions&#039;&#039;&#039;. Get over the fear of asking questions. The more the merrier. How to ask good questions is another story altogether. Look it up.&lt;br /&gt;
* &#039;&#039;&#039;Get plenty of rest&#039;&#039;&#039;. 8 hours per night, if possible.&lt;br /&gt;
* &#039;&#039;&#039;Stay healthy&#039;&#039;&#039; -- invest in vitamins, especially vitamin D in winter due to lack of sun and Ginseng and/or Rhodiola extracts to keep you up and going.&lt;br /&gt;
* &#039;&#039;&#039;Attend the classes&#039;&#039;&#039;. Recordings are made, but they are not a substitution to attendance.&lt;br /&gt;
** Or if learning curve is too steep, skip the unnecessary classes and learn meanwhile, but really do it, don&#039;t imagine it doing. Prioritise classes.&lt;br /&gt;
* Attend hackathons. Awesome places for networking and getting some hacker-cred!&lt;br /&gt;
&lt;br /&gt;
== Problems ==&lt;br /&gt;
* If there is a problem, solve it or seek help. Unattended problems tend to grow out of hand.&lt;br /&gt;
** If the problem is in curriculum or school, go see a study counsellor. They are best informed regarding school matters.&lt;br /&gt;
**If the problem is of an emotional kind and/or related to depression, motivation you can seek help from the psychologist who speaks English and operates in TUT. The contact is counsellor at ttu (dot) ee. [https://translate.google.com/translate?sl=et&amp;amp;tl=en&amp;amp;js=y&amp;amp;prev=_t&amp;amp;hl=et&amp;amp;ie=UTF-8&amp;amp;u=http%3A%2F%2Fttu.ee%2Ftudengile%2Fnoustamine%2Fpsuhholoogiline-noustamine%2F&amp;amp;edit-text= Google translated page can be found here].&lt;br /&gt;
* &#039;&#039;Ex unitate vires&#039;&#039; -- the strength of unity. Get to know your coursemates. Learning together and/or teaching each other is a simple solution for difficult problems.&lt;br /&gt;
&lt;br /&gt;
== Classes ==&lt;br /&gt;
In the beginning of first semester you have 6 courses. It&#039;s going to be mad, so do as much as possible at school. Stay late, as college building is a surprisingly good place to study. Also, if you comprehend a little Estonian, attend the weekend classes for distance learning students: if you fail to comprehend something in Java or Math then this is a good way to recap.&lt;br /&gt;
&lt;br /&gt;
== Semester 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Social, Ethical and Professional Issues in IT ===&lt;br /&gt;
Rather interesting lectures read by [http://www.kakupesa.ee/ Kaido Kikkas] on computer and hacker history and related topics.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grading:&#039;&#039;&#039; A quiz in the first practicum about computer related history and trivia in a computer lab where you&#039;ll be using the Web to find the answers. Practicum attendance is a must, max 3 total non-attendances allowed. 1-2 written essays (2k words) with presentations.&lt;br /&gt;
&lt;br /&gt;
=== Oral and Written Communication Skills ===&lt;br /&gt;
Valuable English language taught by Kärt Rummel. Be prepared to get over stage fright as you will have to present your writings (letters of motivation, informative and persuasive arguments etc) in front of your class.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grading:&#039;&#039;&#039; Ongoing assessment - do your homework, attend your classes and you&#039;ll be fine. &amp;gt;=51% rate of attendance and participation in final round-table is necessary to pass.&lt;br /&gt;
&lt;br /&gt;
=== Basic Programming ===&lt;br /&gt;
Which is Java and is read by Mikk Mangus. If I would take this again, I&#039;d skip the classes and study the book &amp;amp; practice more on my own. Practicums are sometimes interesting. There is no homework, sometimes lecturer remembers to remind to read a chapter from &#039;&#039;[http://math.hws.edu/javanotes/ the book]&#039;&#039;. The pace is a chapter per week.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grading:&#039;&#039;&#039; Two tests in November, your own project by the beginning of December and exam in January. Own project can be anything but has to have several classes and have a git repository.&lt;br /&gt;
&lt;br /&gt;
=== [https://wiki.itcollege.ee/index.php/Category:I600_Introduction_to_Computers_and_Informatics Introduction to Informatics and Computers] ===&lt;br /&gt;
The basics of computers with some in-depth stuff, like debugging VHDL. Read by Lauri Võsandi.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grading:&#039;&#039;&#039; Ongoing assessment in practicums and exam in January.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.cs.ioc.ee/ITKDM/ Logic and Discrete Mathematics] ===&lt;br /&gt;
You know math or are good at it? Help others out. Seriously, this is the most difficult subject. It is read by the professor [http://cs.ioc.ee/dept/staff/jaan.html Jaan Penjam] from Institute of Cybernetics, TUT. Recommend getting a textbook.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grading:&#039;&#039;&#039; Ongoing quizzes (9*2%) in practicum, after lecture. Midterm test (20%) and a final test (20%) before exam (42%) in January.&lt;br /&gt;
&lt;br /&gt;
=== [https://www.netacad.com/ Basic Networking] ===&lt;br /&gt;
Cisco Networking Academy&#039;s course read by Roman Kuchin, by the end of which you&#039;ll get a CCNA certificate (if you pass). Be aware that the tempo is quite high - 2 Cisco semesters during fall semester! That is 8 weeks per Cisco semester, which consists of parts 1 and 2, so 25 labs per semester, about 50 in total, about hour to hour and a half per lab, plus chapter exams. Read, the chapter and do the chapter exam on netacad and read for the next lecture. This way you&#039;ll understand better what is said during the lecture. Also, this course is a prerequisite for [[#Introduction to Cyber Security|Intro to CS]]. Again, collaborate! If in hurry, do the labs on packet tracer but nothing beats doing them IRL.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Grading:&#039;&#039;&#039; Online exams and practical labs must be done before the exam date (preferably by Christmas), to be admitted to the exam, which is in late January.&lt;br /&gt;
&lt;br /&gt;
== Semester 2 ==&lt;br /&gt;
Coming soon!&lt;br /&gt;
=== [[Introduction to Cyber Security]] ===&lt;br /&gt;
Networking is a pre-requisite.&lt;br /&gt;
&lt;br /&gt;
*Programming&lt;br /&gt;
*SysOp&lt;br /&gt;
*Security&lt;br /&gt;
&lt;br /&gt;
Security is not a state but a process. Make sure your network is more secure than your neighbour&#039;s. Don&#039;t trust technology - it does not solve the problem, it moves the problem to some other place. Test your security. DevOps + enemy&#039;s tools.&lt;br /&gt;
&lt;br /&gt;
=== [http://cs.ioc.ee/ITKStat/ Statistics] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.khanacademy.org/math/probability/statistics-inferential Inferential Statistics]&lt;br /&gt;
&lt;br /&gt;
[https://www.khanacademy.org/math/probability/descriptive-statistics Descriptive Statistics]&lt;br /&gt;
&lt;br /&gt;
[https://www.datacamp.com/courses/intro-to-statistics-with-r-student-s-t-test Intro to t-tests]&lt;br /&gt;
&lt;br /&gt;
= After =&lt;br /&gt;
As with a good graphic designer, your work (probably) will not be noticed or commended unless something goes (horribly) wrong. &lt;br /&gt;
Paraphrased from [https://www.erowid.org/general/about/about_article16.shtml Erowid&#039;s Sysadmin] article.&lt;br /&gt;
&lt;br /&gt;
Never stop being curious. There is a Calvin and Hobbes comic that (maybe) illustrates this perfectly but I spent too much time searching it and got distracted by imgur so maybe it will be here by the end of my studies.&lt;br /&gt;
&lt;br /&gt;
= Resources =&lt;br /&gt;
&lt;br /&gt;
=== Textbooks for Discrete Math ===&lt;br /&gt;
&lt;br /&gt;
As recommended by math professor on his [http://www.cs.ioc.ee/ITKDM/ homepage].&lt;br /&gt;
* Susanna S. Epp&#039;s book is supposedly easier to follow, although with any book time and practice are prerequisites to gain knowledge on the subject. &lt;br /&gt;
* Kenneth H. Rosen&#039;s &#039;Discrete Mathematics and Its Applications&#039; is suggested by [http://www.cs.ioc.ee/ITKDM/ Disc. Math professor]. If you go with this one, also get the &#039;Student Solutions Guide For Discrete Mathematics And Its Applications&#039; as well. At the time of writing, the newest version is 7th edition but new ones cost in multiples more. The difference is probably minimal errata.&lt;br /&gt;
* &#039;Schaum&#039;s Outline of Discrete Mathematics&#039; by S.Lipschutz and M.Lipson is another recommendation as well as &#039;Discrete mathematics: elementary and beyond&#039; by L. Lovász, J. Pelikán and K. Vesztergombi.&lt;br /&gt;
&lt;br /&gt;
=== List of booksellers ===&lt;br /&gt;
&lt;br /&gt;
In order of personal preference.&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.uk/ Amazon] in £. Listing update is slow. Had one book refunded due to it. Although, as the prices for books might be cheaper than in EU, it is a hassle to get all the necessary books from one seller because of the (relatively) pricey shipping fees. On the other hand, if you&#039;re lucky, then the courier will bring the order to your doorstep.&lt;br /&gt;
&lt;br /&gt;
[https://www.ebay.ie/ eBay] in €! Usually mail order, prices and shipping costs are varied. Any parcel bigger than A4 envelope and 20 mm thickness will be kept at your local postal branch and you&#039;ll get a notification by snail mail or an SMS if there&#039;s a phone number on address slip.&lt;br /&gt;
&lt;br /&gt;
[https://www.abebooks.co.uk/ AbeBooks] in £. Lists European booksellers as well. Pricey shipping. €8 per book from UK?!&lt;br /&gt;
&lt;br /&gt;
[https://www.thriftbooks.com/ ThriftBooks] in $. Unfortunately no personal experience with the last two.&lt;br /&gt;
&lt;br /&gt;
=== Learning resources ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Java&#039;&#039;&#039;&lt;br /&gt;
*Heres a [https://www.youtube.com/watch?v=TBWX97e1E9g&amp;amp;list=PLE7E8B7F4856C9B19 &#039;quite OK&#039; Java Video Tutorial] from [http://itk.arti.ee/ Arti Zirk&#039;s ITC webpage].&lt;br /&gt;
&lt;br /&gt;
*[https://www.codecademy.com/ Codecademy&#039;s] [https://www.codecademy.com/learn/learn-java Java] is a nice place to remind oneself basics of Java.&lt;br /&gt;
&lt;br /&gt;
*[http://www.codingbat.com/ Codingbat] is an awesome place for Java problems.&lt;br /&gt;
&lt;br /&gt;
*David Eck&#039;s book [http://math.hws.edu/javanotes/ Java Notes] is well put together book introducing Java. Homework in class.&lt;br /&gt;
&#039;&#039;&#039;Git&#039;&#039;&#039;&lt;br /&gt;
*[https://www.codecademy.com/learn/learn-git Git] courses on Codecademy will get you kickstarted.&lt;br /&gt;
&lt;br /&gt;
= Contact &amp;amp; Feedback =&lt;br /&gt;
If you have any further questions or comments, then you are free to contact me at artur at kerge (dot) eu or for non-urgent things, start a discussion on the page and/or edit it straight away. Also you can [http://kerge.eu/ check out my awesome homepage]!&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User_talk:Akerge&amp;diff=102966</id>
		<title>User talk:Akerge</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User_talk:Akerge&amp;diff=102966"/>
		<updated>2016-04-27T13:51:57Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* Web Dev */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
===Homeworks===&lt;br /&gt;
&lt;br /&gt;
==Statisticks==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;del&amp;gt;Finish [https://www.udemy.com/r-basics/ Udemy R basics course].&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Review first 10 minutes of 22.03.16 lecture.&lt;br /&gt;
Starting from page 203 from &amp;quot;Introduction to Statistics&amp;quot;, including Binomial, Poisson, multinomial distributions until 7th chapter regarding normal distributions. What is a normal deviation? What is a percentile? Finish the exercises.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From the book&#039;&#039;&#039;&lt;br /&gt;
* Probability density function&lt;br /&gt;
* Bernoulli trials (Binomial Probability Formula)&lt;br /&gt;
* Cumulative distribution&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
pnorm&lt;br /&gt;
&lt;br /&gt;
qnorm&lt;br /&gt;
&lt;br /&gt;
dnorm&lt;br /&gt;
etc.&lt;br /&gt;
&lt;br /&gt;
runif(n,a,b)&lt;br /&gt;
&lt;br /&gt;
dunif(x,a,b)&lt;br /&gt;
&lt;br /&gt;
punif(x,a,b)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Central Limit Theorem&lt;br /&gt;
All of the above can be found from  pages 203–211 and 249–272.&lt;br /&gt;
&lt;br /&gt;
Also:&lt;br /&gt;
 &lt;br /&gt;
* Advanced Graphics from pages 273–299:&lt;br /&gt;
** qq-plots – to compare distributions&lt;br /&gt;
** Cumulative distribution function (CDF)&lt;br /&gt;
** Contour plots&lt;br /&gt;
** 3D plots (rgl lib)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Midterm exam retake is on 29th of April from 8 &#039;til 10.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Review the practice video of 19th of April, last 30 min.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Go through (watch) these courses:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [Inferential Statistics https://www.khanacademy.org/math/probability/statistics-inferential]&lt;br /&gt;
* [Descriptive Statistics https://www.khanacademy.org/math/probability/descriptive-statistics]&lt;br /&gt;
* Read the corresponding chapters in Online Stat Book &amp;amp; finish the exercises&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TO READ from lectures&#039;&#039;&#039;&lt;br /&gt;
*12.04 Sampling Distribution &lt;br /&gt;
*19.04 Sampling Distributions, p. 300-328&lt;br /&gt;
*26.04 Estimation, p. 329-369&lt;br /&gt;
&lt;br /&gt;
==OS&#039;s==&lt;br /&gt;
Review [[Operating_systems#Lecture_2|homework]]&lt;br /&gt;
&lt;br /&gt;
==Python==&lt;br /&gt;
Finish CodeCademy course!&lt;br /&gt;
&lt;br /&gt;
Do [http://codingbat.com/python CodingBat exercises] daily!&lt;br /&gt;
&lt;br /&gt;
Start programming with Raspberry!&lt;br /&gt;
&lt;br /&gt;
Review 17.03 lectures&lt;br /&gt;
&lt;br /&gt;
REVIEW YaLP with bpython&lt;br /&gt;
&lt;br /&gt;
==Web Dev==&lt;br /&gt;
* Finish SQLite track on Codecademy&lt;br /&gt;
* Get on track with the Lauri&#039;s git&lt;br /&gt;
* Standalone temperature monitor that can be used without external power and the curve output to a web page.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exam:&#039;&#039;&#039;&lt;br /&gt;
* Up to 3 tables&lt;br /&gt;
* Up to 5 views&lt;br /&gt;
* Able to write PHP&lt;br /&gt;
* Able to write SQL: select, join, insert, update&lt;br /&gt;
** Has to avoid SQL injections!&lt;br /&gt;
* Has to use cookies&lt;br /&gt;
* Validate W3C validator&lt;br /&gt;
* Basic CSS (Desktop + Mobile)&lt;br /&gt;
* Basic JS (ajax?)&lt;br /&gt;
* DEPLOYMENT&lt;br /&gt;
&lt;br /&gt;
Twiddle with this https://beta.hacksaw.academy/&lt;br /&gt;
&lt;br /&gt;
==InfoSys Analysis==&lt;br /&gt;
Keep an eye on workshops and quizzes.&lt;br /&gt;
&lt;br /&gt;
==Intro to Cybersec==&lt;br /&gt;
* &#039;&#039;&#039; Review first 20 min of 06.04.2016 lecture&#039;&#039;&#039;&lt;br /&gt;
** EIK 2016&lt;br /&gt;
* Keep an eye on what&#039;s happening in Cybersec industry. Enforce the habit&lt;br /&gt;
* What will be the presentation topic(/demo) ?&lt;br /&gt;
&lt;br /&gt;
==Networking==&lt;br /&gt;
Finish networking labs and exam ASAP!&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User_talk:Akerge&amp;diff=102965</id>
		<title>User talk:Akerge</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User_talk:Akerge&amp;diff=102965"/>
		<updated>2016-04-27T12:53:17Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* Web Dev */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
===Homeworks===&lt;br /&gt;
&lt;br /&gt;
==Statisticks==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;del&amp;gt;Finish [https://www.udemy.com/r-basics/ Udemy R basics course].&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Review first 10 minutes of 22.03.16 lecture.&lt;br /&gt;
Starting from page 203 from &amp;quot;Introduction to Statistics&amp;quot;, including Binomial, Poisson, multinomial distributions until 7th chapter regarding normal distributions. What is a normal deviation? What is a percentile? Finish the exercises.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From the book&#039;&#039;&#039;&lt;br /&gt;
* Probability density function&lt;br /&gt;
* Bernoulli trials (Binomial Probability Formula)&lt;br /&gt;
* Cumulative distribution&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
pnorm&lt;br /&gt;
&lt;br /&gt;
qnorm&lt;br /&gt;
&lt;br /&gt;
dnorm&lt;br /&gt;
etc.&lt;br /&gt;
&lt;br /&gt;
runif(n,a,b)&lt;br /&gt;
&lt;br /&gt;
dunif(x,a,b)&lt;br /&gt;
&lt;br /&gt;
punif(x,a,b)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Central Limit Theorem&lt;br /&gt;
All of the above can be found from  pages 203–211 and 249–272.&lt;br /&gt;
&lt;br /&gt;
Also:&lt;br /&gt;
 &lt;br /&gt;
* Advanced Graphics from pages 273–299:&lt;br /&gt;
** qq-plots – to compare distributions&lt;br /&gt;
** Cumulative distribution function (CDF)&lt;br /&gt;
** Contour plots&lt;br /&gt;
** 3D plots (rgl lib)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Midterm exam retake is on 29th of April from 8 &#039;til 10.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Review the practice video of 19th of April, last 30 min.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Go through (watch) these courses:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [Inferential Statistics https://www.khanacademy.org/math/probability/statistics-inferential]&lt;br /&gt;
* [Descriptive Statistics https://www.khanacademy.org/math/probability/descriptive-statistics]&lt;br /&gt;
* Read the corresponding chapters in Online Stat Book &amp;amp; finish the exercises&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TO READ from lectures&#039;&#039;&#039;&lt;br /&gt;
*12.04 Sampling Distribution &lt;br /&gt;
*19.04 Sampling Distributions, p. 300-328&lt;br /&gt;
*26.04 Estimation, p. 329-369&lt;br /&gt;
&lt;br /&gt;
==OS&#039;s==&lt;br /&gt;
Review [[Operating_systems#Lecture_2|homework]]&lt;br /&gt;
&lt;br /&gt;
==Python==&lt;br /&gt;
Finish CodeCademy course!&lt;br /&gt;
&lt;br /&gt;
Do [http://codingbat.com/python CodingBat exercises] daily!&lt;br /&gt;
&lt;br /&gt;
Start programming with Raspberry!&lt;br /&gt;
&lt;br /&gt;
Review 17.03 lectures&lt;br /&gt;
&lt;br /&gt;
REVIEW YaLP with bpython&lt;br /&gt;
&lt;br /&gt;
==Web Dev==&lt;br /&gt;
* Finish SQLite track on Codecademy&lt;br /&gt;
* Get on track with the Lauri&#039;s git&lt;br /&gt;
* Standalone temperature monitor that can be used without external power and the curve output to a web page.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exam:&#039;&#039;&#039;&lt;br /&gt;
* Up to 3 tables&lt;br /&gt;
* Up to 5 views&lt;br /&gt;
* Able to write PHP&lt;br /&gt;
* Able to write SQL: select, join, insert, update&lt;br /&gt;
** Has to avoid SQL injections!&lt;br /&gt;
* Has to use cookies&lt;br /&gt;
* Validate W3C validator&lt;br /&gt;
* Basic CSS (Desktop + Mobile)&lt;br /&gt;
* Basic JS (ajax?)&lt;br /&gt;
* DEPLOYMENT&lt;br /&gt;
&lt;br /&gt;
==InfoSys Analysis==&lt;br /&gt;
Keep an eye on workshops and quizzes.&lt;br /&gt;
&lt;br /&gt;
==Intro to Cybersec==&lt;br /&gt;
* &#039;&#039;&#039; Review first 20 min of 06.04.2016 lecture&#039;&#039;&#039;&lt;br /&gt;
** EIK 2016&lt;br /&gt;
* Keep an eye on what&#039;s happening in Cybersec industry. Enforce the habit&lt;br /&gt;
* What will be the presentation topic(/demo) ?&lt;br /&gt;
&lt;br /&gt;
==Networking==&lt;br /&gt;
Finish networking labs and exam ASAP!&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User_talk:Akerge&amp;diff=102964</id>
		<title>User talk:Akerge</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User_talk:Akerge&amp;diff=102964"/>
		<updated>2016-04-27T12:48:24Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* Web App */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
===Homeworks===&lt;br /&gt;
&lt;br /&gt;
==Statisticks==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;del&amp;gt;Finish [https://www.udemy.com/r-basics/ Udemy R basics course].&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Review first 10 minutes of 22.03.16 lecture.&lt;br /&gt;
Starting from page 203 from &amp;quot;Introduction to Statistics&amp;quot;, including Binomial, Poisson, multinomial distributions until 7th chapter regarding normal distributions. What is a normal deviation? What is a percentile? Finish the exercises.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From the book&#039;&#039;&#039;&lt;br /&gt;
* Probability density function&lt;br /&gt;
* Bernoulli trials (Binomial Probability Formula)&lt;br /&gt;
* Cumulative distribution&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
pnorm&lt;br /&gt;
&lt;br /&gt;
qnorm&lt;br /&gt;
&lt;br /&gt;
dnorm&lt;br /&gt;
etc.&lt;br /&gt;
&lt;br /&gt;
runif(n,a,b)&lt;br /&gt;
&lt;br /&gt;
dunif(x,a,b)&lt;br /&gt;
&lt;br /&gt;
punif(x,a,b)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Central Limit Theorem&lt;br /&gt;
All of the above can be found from  pages 203–211 and 249–272.&lt;br /&gt;
&lt;br /&gt;
Also:&lt;br /&gt;
 &lt;br /&gt;
* Advanced Graphics from pages 273–299:&lt;br /&gt;
** qq-plots – to compare distributions&lt;br /&gt;
** Cumulative distribution function (CDF)&lt;br /&gt;
** Contour plots&lt;br /&gt;
** 3D plots (rgl lib)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Midterm exam retake is on 29th of April from 8 &#039;til 10.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Review the practice video of 19th of April, last 30 min.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Go through (watch) these courses:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [Inferential Statistics https://www.khanacademy.org/math/probability/statistics-inferential]&lt;br /&gt;
* [Descriptive Statistics https://www.khanacademy.org/math/probability/descriptive-statistics]&lt;br /&gt;
* Read the corresponding chapters in Online Stat Book &amp;amp; finish the exercises&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TO READ from lectures&#039;&#039;&#039;&lt;br /&gt;
*12.04 Sampling Distribution &lt;br /&gt;
*19.04 Sampling Distributions, p. 300-328&lt;br /&gt;
*26.04 Estimation, p. 329-369&lt;br /&gt;
&lt;br /&gt;
==OS&#039;s==&lt;br /&gt;
Review [[Operating_systems#Lecture_2|homework]]&lt;br /&gt;
&lt;br /&gt;
==Python==&lt;br /&gt;
Finish CodeCademy course!&lt;br /&gt;
&lt;br /&gt;
Do [http://codingbat.com/python CodingBat exercises] daily!&lt;br /&gt;
&lt;br /&gt;
Start programming with Raspberry!&lt;br /&gt;
&lt;br /&gt;
Review 17.03 lectures&lt;br /&gt;
&lt;br /&gt;
REVIEW YaLP with bpython&lt;br /&gt;
&lt;br /&gt;
==Web Dev==&lt;br /&gt;
* Finish SQLite track on Codecademy&lt;br /&gt;
* Get on track with the Lauri&#039;s git&lt;br /&gt;
* Standalone temperature monitor that can be used without external power and the curve output to a web page.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exam:&#039;&#039;&#039;&lt;br /&gt;
* Up to 3 tables&lt;br /&gt;
* Up to 5 views&lt;br /&gt;
* Able to write PHP&lt;br /&gt;
* Able to write SQL: select, join, insert, update&lt;br /&gt;
** Has to avoid SQL injections!&lt;br /&gt;
* Has to use cookies&lt;br /&gt;
* Validate W3C validator&lt;br /&gt;
* Basic CSS (Desktop + Mobile)&lt;br /&gt;
* Basic JS (ajax?)&lt;br /&gt;
&lt;br /&gt;
==InfoSys Analysis==&lt;br /&gt;
Keep an eye on workshops and quizzes.&lt;br /&gt;
&lt;br /&gt;
==Intro to Cybersec==&lt;br /&gt;
* &#039;&#039;&#039; Review first 20 min of 06.04.2016 lecture&#039;&#039;&#039;&lt;br /&gt;
** EIK 2016&lt;br /&gt;
* Keep an eye on what&#039;s happening in Cybersec industry. Enforce the habit&lt;br /&gt;
* What will be the presentation topic(/demo) ?&lt;br /&gt;
&lt;br /&gt;
==Networking==&lt;br /&gt;
Finish networking labs and exam ASAP!&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User_talk:Akerge&amp;diff=102963</id>
		<title>User talk:Akerge</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User_talk:Akerge&amp;diff=102963"/>
		<updated>2016-04-27T12:48:10Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* Web App */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
===Homeworks===&lt;br /&gt;
&lt;br /&gt;
==Statisticks==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;del&amp;gt;Finish [https://www.udemy.com/r-basics/ Udemy R basics course].&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Review first 10 minutes of 22.03.16 lecture.&lt;br /&gt;
Starting from page 203 from &amp;quot;Introduction to Statistics&amp;quot;, including Binomial, Poisson, multinomial distributions until 7th chapter regarding normal distributions. What is a normal deviation? What is a percentile? Finish the exercises.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From the book&#039;&#039;&#039;&lt;br /&gt;
* Probability density function&lt;br /&gt;
* Bernoulli trials (Binomial Probability Formula)&lt;br /&gt;
* Cumulative distribution&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
pnorm&lt;br /&gt;
&lt;br /&gt;
qnorm&lt;br /&gt;
&lt;br /&gt;
dnorm&lt;br /&gt;
etc.&lt;br /&gt;
&lt;br /&gt;
runif(n,a,b)&lt;br /&gt;
&lt;br /&gt;
dunif(x,a,b)&lt;br /&gt;
&lt;br /&gt;
punif(x,a,b)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Central Limit Theorem&lt;br /&gt;
All of the above can be found from  pages 203–211 and 249–272.&lt;br /&gt;
&lt;br /&gt;
Also:&lt;br /&gt;
 &lt;br /&gt;
* Advanced Graphics from pages 273–299:&lt;br /&gt;
** qq-plots – to compare distributions&lt;br /&gt;
** Cumulative distribution function (CDF)&lt;br /&gt;
** Contour plots&lt;br /&gt;
** 3D plots (rgl lib)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Midterm exam retake is on 29th of April from 8 &#039;til 10.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Review the practice video of 19th of April, last 30 min.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Go through (watch) these courses:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [Inferential Statistics https://www.khanacademy.org/math/probability/statistics-inferential]&lt;br /&gt;
* [Descriptive Statistics https://www.khanacademy.org/math/probability/descriptive-statistics]&lt;br /&gt;
* Read the corresponding chapters in Online Stat Book &amp;amp; finish the exercises&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TO READ from lectures&#039;&#039;&#039;&lt;br /&gt;
*12.04 Sampling Distribution &lt;br /&gt;
*19.04 Sampling Distributions, p. 300-328&lt;br /&gt;
*26.04 Estimation, p. 329-369&lt;br /&gt;
&lt;br /&gt;
==OS&#039;s==&lt;br /&gt;
Review [[Operating_systems#Lecture_2|homework]]&lt;br /&gt;
&lt;br /&gt;
==Python==&lt;br /&gt;
Finish CodeCademy course!&lt;br /&gt;
&lt;br /&gt;
Do [http://codingbat.com/python CodingBat exercises] daily!&lt;br /&gt;
&lt;br /&gt;
Start programming with Raspberry!&lt;br /&gt;
&lt;br /&gt;
Review 17.03 lectures&lt;br /&gt;
&lt;br /&gt;
REVIEW YaLP with bpython&lt;br /&gt;
&lt;br /&gt;
==Web App==&lt;br /&gt;
* Finish SQLite track on Codecademy&lt;br /&gt;
* Get on track with the Lauri&#039;s git&lt;br /&gt;
* Standalone temperature monitor that can be used without external power and the curve output to a web page.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exam:&#039;&#039;&#039;&lt;br /&gt;
* Up to 3 tables&lt;br /&gt;
* Up to 5 views&lt;br /&gt;
* Able to write PHP&lt;br /&gt;
* Able to write SQL: select, join, insert, update&lt;br /&gt;
** Has to avoid SQL injections!&lt;br /&gt;
* Has to use cookies&lt;br /&gt;
* Validate W3C validator&lt;br /&gt;
* Basic CSS (Desktop + Mobile)&lt;br /&gt;
* Basic JS (ajax?)&lt;br /&gt;
&lt;br /&gt;
==InfoSys Analysis==&lt;br /&gt;
Keep an eye on workshops and quizzes.&lt;br /&gt;
&lt;br /&gt;
==Intro to Cybersec==&lt;br /&gt;
* &#039;&#039;&#039; Review first 20 min of 06.04.2016 lecture&#039;&#039;&#039;&lt;br /&gt;
** EIK 2016&lt;br /&gt;
* Keep an eye on what&#039;s happening in Cybersec industry. Enforce the habit&lt;br /&gt;
* What will be the presentation topic(/demo) ?&lt;br /&gt;
&lt;br /&gt;
==Networking==&lt;br /&gt;
Finish networking labs and exam ASAP!&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User_talk:Akerge&amp;diff=102903</id>
		<title>User talk:Akerge</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User_talk:Akerge&amp;diff=102903"/>
		<updated>2016-04-26T10:29:17Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* Statisticks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
===Homeworks===&lt;br /&gt;
&lt;br /&gt;
==Statisticks==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;del&amp;gt;Finish [https://www.udemy.com/r-basics/ Udemy R basics course].&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Review first 10 minutes of 22.03.16 lecture.&lt;br /&gt;
Starting from page 203 from &amp;quot;Introduction to Statistics&amp;quot;, including Binomial, Poisson, multinomial distributions until 7th chapter regarding normal distributions. What is a normal deviation? What is a percentile? Finish the exercises.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From the book&#039;&#039;&#039;&lt;br /&gt;
* Probability density function&lt;br /&gt;
* Bernoulli trials (Binomial Probability Formula)&lt;br /&gt;
* Cumulative distribution&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
pnorm&lt;br /&gt;
&lt;br /&gt;
qnorm&lt;br /&gt;
&lt;br /&gt;
dnorm&lt;br /&gt;
etc.&lt;br /&gt;
&lt;br /&gt;
runif(n,a,b)&lt;br /&gt;
&lt;br /&gt;
dunif(x,a,b)&lt;br /&gt;
&lt;br /&gt;
punif(x,a,b)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Central Limit Theorem&lt;br /&gt;
All of the above can be found from  pages 203–211 and 249–272.&lt;br /&gt;
&lt;br /&gt;
Also:&lt;br /&gt;
 &lt;br /&gt;
* Advanced Graphics from pages 273–299:&lt;br /&gt;
** qq-plots – to compare distributions&lt;br /&gt;
** Cumulative distribution function (CDF)&lt;br /&gt;
** Contour plots&lt;br /&gt;
** 3D plots (rgl lib)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Midterm exam retake is on 29th of April from 8 &#039;til 10.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Review the practice video of 19th of April, last 30 min.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Go through (watch) these courses:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [Inferential Statistics https://www.khanacademy.org/math/probability/statistics-inferential]&lt;br /&gt;
* [Descriptive Statistics https://www.khanacademy.org/math/probability/descriptive-statistics]&lt;br /&gt;
* Read the corresponding chapters in Online Stat Book &amp;amp; finish the exercises&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TO READ from lectures&#039;&#039;&#039;&lt;br /&gt;
*12.04 Sampling Distribution &lt;br /&gt;
*19.04 Sampling Distributions, p. 300-328&lt;br /&gt;
*26.04 Estimation, p. 329-369&lt;br /&gt;
&lt;br /&gt;
==OS&#039;s==&lt;br /&gt;
Review [[Operating_systems#Lecture_2|homework]]&lt;br /&gt;
&lt;br /&gt;
==Python==&lt;br /&gt;
Finish CodeCademy course!&lt;br /&gt;
&lt;br /&gt;
Do [http://codingbat.com/python CodingBat exercises] daily!&lt;br /&gt;
&lt;br /&gt;
Start programming with Raspberry!&lt;br /&gt;
&lt;br /&gt;
Review 17.03 lectures&lt;br /&gt;
&lt;br /&gt;
REVIEW YaLP with bpython&lt;br /&gt;
&lt;br /&gt;
==Web App==&lt;br /&gt;
* Finish SQLite track on Codecademy&lt;br /&gt;
* Get on track with the Lauri&#039;s git&lt;br /&gt;
* Standalone temperature monitor that can be used without external power and the curve output to a web page.&lt;br /&gt;
&lt;br /&gt;
==InfoSys Analysis==&lt;br /&gt;
Keep an eye on workshops and quizzes.&lt;br /&gt;
&lt;br /&gt;
==Intro to Cybersec==&lt;br /&gt;
* &#039;&#039;&#039; Review first 20 min of 06.04.2016 lecture&#039;&#039;&#039;&lt;br /&gt;
** EIK 2016&lt;br /&gt;
* Keep an eye on what&#039;s happening in Cybersec industry. Enforce the habit&lt;br /&gt;
* What will be the presentation topic(/demo) ?&lt;br /&gt;
&lt;br /&gt;
==Networking==&lt;br /&gt;
Finish networking labs and exam ASAP!&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User_talk:Akerge&amp;diff=102894</id>
		<title>User talk:Akerge</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User_talk:Akerge&amp;diff=102894"/>
		<updated>2016-04-26T09:18:52Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* Statisticks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
===Homeworks===&lt;br /&gt;
&lt;br /&gt;
==Statisticks==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;del&amp;gt;Finish [https://www.udemy.com/r-basics/ Udemy R basics course].&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Review first 10 minutes of 22.03.16 lecture.&lt;br /&gt;
Starting from page 203 from &amp;quot;Introduction to Statistics&amp;quot;, including Binomial, Poisson, multinomial distributions until 7th chapter regarding normal distributions. What is a normal deviation? What is a percentile? Finish the exercises.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From the book&#039;&#039;&#039;&lt;br /&gt;
* Probability density function&lt;br /&gt;
* Bernoulli trials (Binomial Probability Formula)&lt;br /&gt;
* Cumulative distribution&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
pnorm&lt;br /&gt;
&lt;br /&gt;
qnorm&lt;br /&gt;
&lt;br /&gt;
dnorm&lt;br /&gt;
etc.&lt;br /&gt;
&lt;br /&gt;
runif(n,a,b)&lt;br /&gt;
&lt;br /&gt;
dunif(x,a,b)&lt;br /&gt;
&lt;br /&gt;
punif(x,a,b)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Central Limit Theorem&lt;br /&gt;
All of the above can be found from  pages 203–211 and 249–272.&lt;br /&gt;
&lt;br /&gt;
Also:&lt;br /&gt;
 &lt;br /&gt;
* Advanced Graphics from pages 273–299:&lt;br /&gt;
** qq-plots – to compare distributions&lt;br /&gt;
** Cumulative distribution function (CDF)&lt;br /&gt;
** Contour plots&lt;br /&gt;
** 3D plots (rgl lib)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Midterm exam retake is on 29th of April from 8 &#039;til 10.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Review the practice video of 19th of April, last 30 min.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Go through (watch) these courses:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [Inferential Statistics https://www.khanacademy.org/math/probability/statistics-inferential]&lt;br /&gt;
* [Descriptive Statistics https://www.khanacademy.org/math/probability/descriptive-statistics]&lt;br /&gt;
* Read the corresponding chapter in Online Stat Book &amp;amp; finish the exercises&lt;br /&gt;
&lt;br /&gt;
==OS&#039;s==&lt;br /&gt;
Review [[Operating_systems#Lecture_2|homework]]&lt;br /&gt;
&lt;br /&gt;
==Python==&lt;br /&gt;
Finish CodeCademy course!&lt;br /&gt;
&lt;br /&gt;
Do [http://codingbat.com/python CodingBat exercises] daily!&lt;br /&gt;
&lt;br /&gt;
Start programming with Raspberry!&lt;br /&gt;
&lt;br /&gt;
Review 17.03 lectures&lt;br /&gt;
&lt;br /&gt;
REVIEW YaLP with bpython&lt;br /&gt;
&lt;br /&gt;
==Web App==&lt;br /&gt;
* Finish SQLite track on Codecademy&lt;br /&gt;
* Get on track with the Lauri&#039;s git&lt;br /&gt;
* Standalone temperature monitor that can be used without external power and the curve output to a web page.&lt;br /&gt;
&lt;br /&gt;
==InfoSys Analysis==&lt;br /&gt;
Keep an eye on workshops and quizzes.&lt;br /&gt;
&lt;br /&gt;
==Intro to Cybersec==&lt;br /&gt;
* &#039;&#039;&#039; Review first 20 min of 06.04.2016 lecture&#039;&#039;&#039;&lt;br /&gt;
** EIK 2016&lt;br /&gt;
* Keep an eye on what&#039;s happening in Cybersec industry. Enforce the habit&lt;br /&gt;
* What will be the presentation topic(/demo) ?&lt;br /&gt;
&lt;br /&gt;
==Networking==&lt;br /&gt;
Finish networking labs and exam ASAP!&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User_talk:Akerge&amp;diff=102690</id>
		<title>User talk:Akerge</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User_talk:Akerge&amp;diff=102690"/>
		<updated>2016-04-19T10:32:20Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* Statisticks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
===Homeworks===&lt;br /&gt;
&lt;br /&gt;
==Statisticks==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;del&amp;gt;Finish [https://www.udemy.com/r-basics/ Udemy R basics course].&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Review first 10 minutes of 22.03.16 lecture.&lt;br /&gt;
Starting from page 203 from &amp;quot;Introduction to Statistics&amp;quot;, including Binomial, Poisson, multinomial distributions until 7th chapter regarding normal distributions. What is a normal deviation? What is a percentile? Finish the exercises.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From the book&#039;&#039;&#039;&lt;br /&gt;
* Probability density function&lt;br /&gt;
* Bernoulli trials (Binomial Probability Formula)&lt;br /&gt;
* Cumulative distribution&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
pnorm&lt;br /&gt;
&lt;br /&gt;
qnorm&lt;br /&gt;
&lt;br /&gt;
dnorm&lt;br /&gt;
etc.&lt;br /&gt;
&lt;br /&gt;
runif(n,a,b)&lt;br /&gt;
&lt;br /&gt;
dunif(x,a,b)&lt;br /&gt;
&lt;br /&gt;
punif(x,a,b)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Central Limit Theorem&lt;br /&gt;
All of the above can be found from  pages 203–211 and 249–272.&lt;br /&gt;
&lt;br /&gt;
Also:&lt;br /&gt;
 &lt;br /&gt;
* Advanced Graphics from pages 273–299:&lt;br /&gt;
** qq-plots – to compare distributions&lt;br /&gt;
** Cumulative distribution function (CDF)&lt;br /&gt;
** Contour plots&lt;br /&gt;
** 3D plots (rgl lib)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Midterm exam retake is on 29th of April from 8 &#039;til 10.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Review the practice video of 19th of April, last 30 min.&lt;br /&gt;
&lt;br /&gt;
==OS&#039;s==&lt;br /&gt;
Review [[Operating_systems#Lecture_2|homework]]&lt;br /&gt;
&lt;br /&gt;
==Python==&lt;br /&gt;
Finish CodeCademy course!&lt;br /&gt;
&lt;br /&gt;
Do [http://codingbat.com/python CodingBat exercises] daily!&lt;br /&gt;
&lt;br /&gt;
Start programming with Raspberry!&lt;br /&gt;
&lt;br /&gt;
Review 17.03 lectures&lt;br /&gt;
&lt;br /&gt;
REVIEW YaLP with bpython&lt;br /&gt;
&lt;br /&gt;
==Web App==&lt;br /&gt;
* Finish SQLite track on Codecademy&lt;br /&gt;
* Get on track with the Lauri&#039;s git&lt;br /&gt;
* Standalone temperature monitor that can be used without external power and the curve output to a web page.&lt;br /&gt;
&lt;br /&gt;
==InfoSys Analysis==&lt;br /&gt;
Keep an eye on workshops and quizzes.&lt;br /&gt;
&lt;br /&gt;
==Intro to Cybersec==&lt;br /&gt;
* &#039;&#039;&#039; Review first 20 min of 06.04.2016 lecture&#039;&#039;&#039;&lt;br /&gt;
** EIK 2016&lt;br /&gt;
* Keep an eye on what&#039;s happening in Cybersec industry. Enforce the habit&lt;br /&gt;
* What will be the presentation topic(/demo) ?&lt;br /&gt;
&lt;br /&gt;
==Networking==&lt;br /&gt;
Finish networking labs and exam ASAP!&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User_talk:Akerge&amp;diff=102689</id>
		<title>User talk:Akerge</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User_talk:Akerge&amp;diff=102689"/>
		<updated>2016-04-19T10:19:55Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* Statisticks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
===Homeworks===&lt;br /&gt;
&lt;br /&gt;
==Statisticks==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;del&amp;gt;Finish [https://www.udemy.com/r-basics/ Udemy R basics course].&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Review first 10 minutes of 22.03.16 lecture.&lt;br /&gt;
Starting from page 203 from &amp;quot;Introduction to Statistics&amp;quot;, including Binomial, Poisson, multinomial distributions until 7th chapter regarding normal distributions. What is a normal deviation? What is a percentile? Finish the exercises.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From the book&#039;&#039;&#039;&lt;br /&gt;
* Probability density function&lt;br /&gt;
* Bernoulli trials (Binomial Probability Formula)&lt;br /&gt;
* Cumulative distribution&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
pnorm&lt;br /&gt;
&lt;br /&gt;
qnorm&lt;br /&gt;
&lt;br /&gt;
dnorm&lt;br /&gt;
etc.&lt;br /&gt;
&lt;br /&gt;
runif(n,a,b)&lt;br /&gt;
&lt;br /&gt;
dunif(x,a,b)&lt;br /&gt;
&lt;br /&gt;
punif(x,a,b)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Central Limit Theorem&lt;br /&gt;
All of the above can be found from  pages 203–211 and 249–272.&lt;br /&gt;
&lt;br /&gt;
Also:&lt;br /&gt;
 &lt;br /&gt;
* Advanced Graphics from pages 273–299:&lt;br /&gt;
** qq-plots – to compare distributions&lt;br /&gt;
** Cumulative distribution function (CDF)&lt;br /&gt;
** Contour plots&lt;br /&gt;
** 3D plots (rgl lib)&lt;br /&gt;
&lt;br /&gt;
Midterm exam retake is on 29th of April from 8 &#039;til 10.&lt;br /&gt;
&lt;br /&gt;
Review the practice video of 19th of April, last 30 min.&lt;br /&gt;
&lt;br /&gt;
==OS&#039;s==&lt;br /&gt;
Review [[Operating_systems#Lecture_2|homework]]&lt;br /&gt;
&lt;br /&gt;
==Python==&lt;br /&gt;
Finish CodeCademy course!&lt;br /&gt;
&lt;br /&gt;
Do [http://codingbat.com/python CodingBat exercises] daily!&lt;br /&gt;
&lt;br /&gt;
Start programming with Raspberry!&lt;br /&gt;
&lt;br /&gt;
Review 17.03 lectures&lt;br /&gt;
&lt;br /&gt;
REVIEW YaLP with bpython&lt;br /&gt;
&lt;br /&gt;
==Web App==&lt;br /&gt;
* Finish SQLite track on Codecademy&lt;br /&gt;
* Get on track with the Lauri&#039;s git&lt;br /&gt;
* Standalone temperature monitor that can be used without external power and the curve output to a web page.&lt;br /&gt;
&lt;br /&gt;
==InfoSys Analysis==&lt;br /&gt;
Keep an eye on workshops and quizzes.&lt;br /&gt;
&lt;br /&gt;
==Intro to Cybersec==&lt;br /&gt;
* &#039;&#039;&#039; Review first 20 min of 06.04.2016 lecture&#039;&#039;&#039;&lt;br /&gt;
** EIK 2016&lt;br /&gt;
* Keep an eye on what&#039;s happening in Cybersec industry. Enforce the habit&lt;br /&gt;
* What will be the presentation topic(/demo) ?&lt;br /&gt;
&lt;br /&gt;
==Networking==&lt;br /&gt;
Finish networking labs and exam ASAP!&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User_talk:Akerge&amp;diff=102452</id>
		<title>User talk:Akerge</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User_talk:Akerge&amp;diff=102452"/>
		<updated>2016-04-07T11:47:57Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* Python */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
===Homeworks===&lt;br /&gt;
&lt;br /&gt;
==Statisticks==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;del&amp;gt;Finish [https://www.udemy.com/r-basics/ Udemy R basics course].&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Review first 10 minutes of 22.03.16 lecture.&lt;br /&gt;
Starting from page 203 from &amp;quot;Introduction to Statistics&amp;quot;, including Binomial, Poisson, multinomial distributions until 7th chapter regarding normal distributions. What is a normal deviation? What is a percentile? Finish the exercises.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From the book&#039;&#039;&#039;&lt;br /&gt;
* Probability density function&lt;br /&gt;
* Bernoulli trials (Binomial Probability Formula)&lt;br /&gt;
* Cumulative distribution&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
pnorm&lt;br /&gt;
&lt;br /&gt;
qnorm&lt;br /&gt;
&lt;br /&gt;
dnorm&lt;br /&gt;
etc.&lt;br /&gt;
&lt;br /&gt;
runif(n,a,b)&lt;br /&gt;
&lt;br /&gt;
dunif(x,a,b)&lt;br /&gt;
&lt;br /&gt;
punif(x,a,b)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Central Limit Theorem&lt;br /&gt;
All of the above can be found from  pages 203–211 and 249–272.&lt;br /&gt;
&lt;br /&gt;
Also:&lt;br /&gt;
 &lt;br /&gt;
* Advanced Graphics from pages 273–299:&lt;br /&gt;
** qq-plots – to compare distributions&lt;br /&gt;
** Cumulative distribution function (CDF)&lt;br /&gt;
** Contour plots&lt;br /&gt;
** 3D plots (rgl lib)&lt;br /&gt;
&lt;br /&gt;
==OS&#039;s==&lt;br /&gt;
Review [[Operating_systems#Lecture_2|homework]]&lt;br /&gt;
&lt;br /&gt;
==Python==&lt;br /&gt;
Finish CodeCademy course!&lt;br /&gt;
&lt;br /&gt;
Do [http://codingbat.com/python CodingBat exercises] daily!&lt;br /&gt;
&lt;br /&gt;
Start programming with Raspberry!&lt;br /&gt;
&lt;br /&gt;
Review 17.03 lectures&lt;br /&gt;
&lt;br /&gt;
REVIEW YaLP with bpython&lt;br /&gt;
&lt;br /&gt;
==Web App==&lt;br /&gt;
* Finish SQLite track on Codecademy&lt;br /&gt;
* Get on track with the Lauri&#039;s git&lt;br /&gt;
* Standalone temperature monitor that can be used without external power and the curve output to a web page.&lt;br /&gt;
&lt;br /&gt;
==InfoSys Analysis==&lt;br /&gt;
Keep an eye on workshops and quizzes.&lt;br /&gt;
&lt;br /&gt;
==Intro to Cybersec==&lt;br /&gt;
* &#039;&#039;&#039; Review first 20 min of 06.04.2016 lecture&#039;&#039;&#039;&lt;br /&gt;
** EIK 2016&lt;br /&gt;
* Keep an eye on what&#039;s happening in Cybersec industry. Enforce the habit&lt;br /&gt;
* What will be the presentation topic(/demo) ?&lt;br /&gt;
&lt;br /&gt;
==Networking==&lt;br /&gt;
Finish networking labs and exam ASAP!&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Irssi&amp;diff=102429</id>
		<title>Irssi</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Irssi&amp;diff=102429"/>
		<updated>2016-04-06T08:15:18Z</updated>

		<summary type="html">&lt;p&gt;Akerge: /* References */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
[[File:Irssi.png|thumb|right|alt=A screenshot of Irssi in action.|Irssi screenshot with /nick command entered.]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The&#039;&#039;&#039; command line IRC client. Irssi is FOSS (licensed under the GPLv2) and is available for Linux, BSD, Solaris, Apple and [https://en.wikipedia.org/wiki/Cygwin Cygwin] (under Windows). It was developed by [https://en.wikipedia.org/wiki/Timo_Sirainen Timo Sirainen] and was released in the beginning of 1999. It is highly customizable, for example with themes and it is possible to to use other IM communication through it.&lt;br /&gt;
&lt;br /&gt;
== Installing ==&lt;br /&gt;
&lt;br /&gt;
With other package managers, distros and platforms, please see the [https://irssi.org/download/ following link].&lt;br /&gt;
&lt;br /&gt;
With apt: &amp;lt;code&amp;gt;sudo apt-get install irssi&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is rather light-weight, being only 2 392 kB on disk.&lt;br /&gt;
&lt;br /&gt;
== Getting around ==&lt;br /&gt;
&lt;br /&gt;
=== Connecting ===&lt;br /&gt;
There are several IRC servers still alive and going strong. In this example we shall be connecting to the closest freenode server, located in Finland. Physical distance is not an issue nowadays, but imagine being stuck on a 56 kB modem with top speeds through dial-up and the copper wire being about 12 kB, maxing out at 30 kB, if local.&lt;br /&gt;
&lt;br /&gt;
* Open terminal (Ctrl+Alt+T) and type: &amp;lt;code&amp;gt;irssi&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;/connect rajaniemi.freenode.net&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;/join itcollege&amp;lt;/code&amp;gt; joining channels usually requires a #-sign, for example #mozilla. Irssi adds it for you behind the scenes so you can omit it &lt;br /&gt;
&lt;br /&gt;
=== Window Switching ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Alt+#&amp;lt;/code&amp;gt; combination is used for window switching. For more than nine windows, the row below numbers will be used, for example key combination &amp;lt;code&amp;gt;Alt+q&amp;lt;/code&amp;gt; etc. A window can be changed via command as well -- &amp;lt;code&amp;gt;/window #&amp;lt;/code&amp;gt;. To close window, type &amp;lt;code&amp;gt;/wc #&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Name===&lt;br /&gt;
&lt;br /&gt;
Your default nickname (under Ubuntu) will be your computer username. You can change it by entering &amp;lt;code&amp;gt;/nick your-new-username&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should register your nickname if you plan staying for longer and don&#039;t want anyone to abuse it, by messaging NickServ &amp;lt;code&amp;gt;/msg nickserv REGISTER &amp;lt;password&amp;gt; &amp;lt;email&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Channels (chat rooms) ===&lt;br /&gt;
&lt;br /&gt;
*To list all chat rooms type &amp;lt;code&amp;gt;/list&amp;lt;/code&amp;gt; Might not be a good idea to do, considering there are about 12 000 channels. To search for a specific channel might be more useful to search via browser or know beforehand where you want to connect to.&lt;br /&gt;
&lt;br /&gt;
*Joining you can omit the number sign (#) &amp;lt;code&amp;gt;/join itcollege&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Away message: &amp;lt;code&amp;gt;/away msg&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Quit message: &amp;lt;code&amp;gt;/quit quitmsg&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*User query: &amp;lt;code&amp;gt;/q &amp;lt;nick&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*List users in a channel: &amp;lt;code&amp;gt;/n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Private message a user: &amp;lt;code&amp;gt;/m &amp;lt;nick&amp;gt; message&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Display a channels topic: &amp;lt;code&amp;gt;/topic&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Perform an action: &amp;lt;code&amp;gt;/me scratches his nose&amp;lt;/code&amp;gt; will look like &amp;lt;code&amp;gt;&amp;lt;nick&amp;gt; scratches his nose&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*To mark yourself as away: &amp;lt;code&amp;gt;/away away_message&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Customization ==&lt;br /&gt;
&lt;br /&gt;
To make life easier [https://scripts.irssi.org/ scripts] and [https://irssi-import.github.io/themes/ themes] with further documentation can be found on on [https://irssi.org/ irssi] homepage.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
https://irssi.org/&lt;br /&gt;
&lt;br /&gt;
http://www.linux.org/threads/irssi-for-beginners.4181/&lt;br /&gt;
&lt;br /&gt;
http://www.antonfagerberg.com/blog/my-perfect-irssi-setup/&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Irssi&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Timo_Sirainen&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Cygwin&lt;br /&gt;
&lt;br /&gt;
http://www.irchelp.org/irchelp/irctutorial.html&lt;br /&gt;
&lt;br /&gt;
At the time of writing a [http://blog.freenode.net/2016/02/recent-events-and-future-changes/ post has appeared on freenode staff blog] rendering their [http://freenode.net/faq.shtml FAQ page] unusable.&lt;br /&gt;
&lt;br /&gt;
Created and edited by [[User:akerge|Artur Kerge]] in Spring of 2016&lt;/div&gt;</summary>
		<author><name>Akerge</name></author>
	</entry>
</feed>