Zabbix installation for CentOS 7

CentOS 7 Zabbix installation guide with mysql database.

Install mariadb for backend database

yum install mariadb mariadb-server

Add the zabbix repo:

rpm -i http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm

install zabbix server with web and agent.

yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent

Start and enable mariadb

systemctl start mariadb
systemctl enable mariadb

Run the mysql_secure_installation script

mysql_secure_installation

After a clean installation the root password is empty so just press enter when asked for mariadb root password. After creating a password for mariadb root you should be fine by using the default choices.

Start mysql client and run the mysql commands

mysql -u root -p
MariaDB> create database zabbix character set utf8 collate utf8_bin;
MariaDB> grant all privileges on zabbix.* to zabbix@localhost identified by 'yourpasswordhere';

Exit out of mysql client, run the following command, and input the password you chose in the previous command.

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -u zabbix -p zabbix

Edit /etc/zabbix/zabbix_server.conf and add your database password to the DBPassword field

DBPassword=yourpasswordhere

Start all zabbix processes and enable them on startup.

systemctl restart zabbix-server zabbix-agent httpd
systemctl enable zabbix-server zabbix-agent httpd

On my first test selinux made zabbix-server fail with last error in logs being”cannot disable core dump, exiting…”. I made selinux permissive for now to continue.

Add your timezone to /etc/httpd/conf.d/zabbix.conf by uncommenting the following line and replacing it with your timezone.

# php_value date.timezone Europe/Helsinki

You can then follow zabbix quickstart guide since zabbix should be properly up and running on http://zabbixServerIP/zabbix

How to fix the urxvt “unknown terminal type.” error in SSH windows.

When using URXVT terminal one might bump into the following error on SSH sessions when trying to display something on the screen with less or when clearing the terminal.

‘rxvt-unicode-256color’: unknown terminal type.

Simply running the command below will be enough to fix the error.

export TERM=xterm-256color

Or install the following package on remote servers:

rxvt-unicode

Palvelinten hallinta saltilla

Asenna Salt Master ja Slave pull-arkkitehtuurilla (eli master on server). Voit laittaa herran ja orjan myös samalle koneelle. Kokeile suorittamalla salt:illa komentoja etänä.

Asensin nämä kahdelle eri koneelle, molemmat CentOS 7. Muokkasin orjalla tiedostoa /etc/salt/minion ja laitoin sinne nämä rivit:

master: saltmaster1
id: TS3Server

Varmistin että herralla pyörii salt-master service ja käynnistin orjalla salt-minion servicen. Hyväksyin orjan avaimen herralla.

sudo salt-key -A
y

Kokeilin toimivuutta skriptillä joka päivittää CentOS käyttöjärjestelmälliset koneet.

#!/bin/bash
echo “Updating CentOS servers.”
echo “Please wait…”
salt -G ‘os:CentOS’ cmd.run “yum update -y”

Orja päivittyi onnistuneesti.

Kerää laitetietoja koneilta saltin grains-mekanismilla.

Hain orjan tietoja grains.items komennolla.

salt ‘minion1’ grains.items

Oikeaa elämää. Säädä Saltilla jotain pientä, mutta oikeaa esimerkiksi omalta koneeltasi tai omalta virtuaalipalvelimelta. (Kannattaa kokeilla Saltia oikeassa elämässä, mutta jos se ei onnistu, rakenna jotain oikeaa konettasi vastaava virtuaaliympäristö ja tee asetus siinä).

Loin tilan joka luo crontabin minun TeamSpeak palvelimelleni, joka pyrkii käynnistämään teamspeak palvelun viiden minuutin välein. Komento ei tee mitään jos palvelu on jo päällä. Nimesin tiedoston ts3cronjob.sls:ksi.

/home/ts3/tschk.sh > /dev/null 2>&1:
cron.present:
– user: ts3
– minute: ‘*/5’

Ajoin tilan orjakoneelle ja se toimi hyvin.

salt ‘TS3Server’ state.apply ts3cronjob

Lisäsin tämän myös top.sls tiedostoon.

base:
‘TS3Server’:
– ts3cronjob

Lähteet:

https://docs.saltstack.com/en/latest/ref/states/all/salt.states.cron.html