zabbix的安装与使用

面试了一家公司,问我有没有用过zabbix.然而我并没有用过,讲道理之前最多打打补丁,系统搞搞加固,因为没出过什么大事也就一直这么搞了,并没有说时时刻刻监控着服务器,没有这个需求.
不过后来搜了搜,发现确实能解决一些痛点,于是就决定自己搭建一个看看怎么用.

安装

系统是debian(其实是kali),直接apt-get安装莫名其妙没有找到数据库的sql文件(后来发现在包里有),索性直接源码编译安装了

编译安装

官网上下载,解压:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
root@kali:~/Desktop/zabbix-4.0.3# ./configure --enable-server --enable-agent --with-mysql\
--enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
configure: error: MySQL library not found
configure: error: LIBXML2 library not found
configure: error: Invalid Net-SNMP directory - unable to find net-snmp-config
configure: error: Unable to use libevent (libevent check failed)
configure: error: Unable to use libpcre (libpcre check failed)
root@kali:~/Desktop/zabbix-4.0.3# apt-get install default-libmysqlclient-dev libxml2-dev libevent-dev libpcre++-dev
root@kali:~/Desktop/net-snmp-5.8# ./configure --with-default-snmp-version="3" \
--with-sys-contact="@@no.where" --with-sys-location="Unknown"
--with-logfile="/var/log/snmpd.log" --with-persistent-directory="/var/net-snmp" #好像没有现成的包
root@kali:~/Desktop/net-snmp-5.8# make&&make install
root@kali:~/Desktop/net-snmp-5.8# snmpget --version
NET-SNMP version: 5.8
root@kali:~/Desktop/zabbix-4.0.3# make&&make install
root@kali:~/Desktop/zabbix-4.0.3# zabbix_agentd -V
zabbix_agentd (daemon) (Zabbix) 4.0.3
Revision 87993 20 December 2018, compilation time: Jan 5 2019 14:02:48
root@kali:~/Desktop/zabbix-4.0.3# zabbix_server -V
zabbix_server (Zabbix) 4.0.3
Revision 87993 20 December 2018, compilation time: Jan 5 2019 14:02:48

配置zabbix_server

zabbix server简单来说就是管理服务器的服务器
新建用户zabbix

1
2
root@kali:~/Desktop/zabbix-4.0.3# groupadd zabbix
root@kali:~/Desktop/zabbix-4.0.3# useradd -g zabbix zabbix

创建数据库zabbix

1
2
3
root@kali:~/Desktop/zabbix-4.0.3# mysql -uroot -p
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by '<密码>';

导入数据库

1
2
3
root@kali:~/Desktop/zabbix-4.0.3# mysql -uzabbix zabbix < /database/mysql/schema.sql
root@kali:~/Desktop/zabbix-4.0.3# mysql -uzabbix zabbix < /database/mysql/images.sql
root@kali:~/Desktop/zabbix-4.0.3# mysql -uzabbix zabbix < /database/mysql/data.sql

/usr/local/etc/zabbix_server.conf中配置数据库信息

1
2
3
4
root@kali:~/Desktop/zabbix-4.0.3/src# grep -e '^DB' /usr/local/etc/zabbix_server.conf
DBName=zabbix
DBUser=zabbix
DBPassword=password

配置zabbix_agentd

zabbix agentd简单来说就是被管理被监控的服务器
/usr/local/etc/zabbix_agentd.conf中配置服务器信息即可

1
2
3
root@kali:~/Desktop/zabbix-4.0.3# grep -e '^S' /usr/local/etc/zabbix_agentd.conf
Server=127.0.0.1
ServerActive=127.0.0.1

配置zabbix_frontends

zabbix frontends简单来说就是zabbix_server的gui界面
复制所需文件:

1
2
3
4
root@kali:~/Desktop/zabbix-4.0.3# cp -a frontends/php/ /var/www/html/zabbix
root@kali:~/Desktop/zabbix-4.0.3# chown -R www-data:www-data /var/www/html/
root@kali:~/Desktop/zabbix-4.0.3# apt-get install php7.2-bcmath php7.2-mbstring php7.2-gd php7.2-xml
root@kali:~/Desktop/zabbix-4.0.3# service apache2 restart

打开 http://localhost/zabbix/ 即可web安装.
cheack_image
其中php选项在php.ini中修改相应配置,或在apache的conf文件中使用php_value来配置,其余的mod已于前面安装了

配置zabbix_agent

zabbix agent简单来说就是中继服务器,中继agent与server之间的通讯,最大的作用我感觉就是均衡负载
之前编译的时候没有编译zabbix_agent,在./configure –enable-agent后编译,于/usr/local/etc/zabbix_proxy.conf中配置Server即可

语言设置

需要生成语言文件

1
2
3
4
5
6
root@kali:/var/www/html/zabbix# apt-get install gettext
root@kali:/var/www/html/zabbix# ./locale/make_mo.sh
./locale/fr/LC_MESSAGES/frontend.po:2060: number of format specifications in 'msgid' and 'msgstr' does not match
msgfmt: found 1 fatal error
root@kali:/var/www/html/zabbix# rm -rf locale/fr/ #反正也不用fr语言,删掉即可
root@kali:/var/www/html/zabbix# ./locale/make_mo.sh

默认的用户语言是en_GB,可以通过修改数据库中users表的lang字段为zh_CN来使用中文.

此时,zabbix就已经安装完成了.

配置

使用默认账号密码Admin:zabbix登陆,就可web图形化配置.

参考资料

Net-Snmp wiki

zabbix wiki