abbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix由2部分构成,zabbix server与可选组件zabbix agent。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。
Zabbix官方安装文档:https://www.zabbix.com/documentation/3.4/zh/manual/installation/install
搭建Zabbix监控环境
编辑
要想搭建一个Zabbix的工作环境,需要从服务器入手。与服务器通信,管理员需要使用一个Zabbix前端界面,与Zabbix服务器和数据库进行通信。三个关键(界面、服务器和数据库)可以安装在同一台服务器上,但是如果你拥有一个更大更复杂的环境,将它们安装在不同的主机上也是一个选项。Zabbix服务器能够直接监控到同一网络中的设备,如果其他网络的设备也需要被监控,那还需要一台Zabbix代理服务器。
环境配置:zabbix服务器IP地址为192.168.123.124/24
被监控机为Linux server 192.168.10.1
Zabbix安装环境需要使用下列软件:
yum -y install gcc gcc-c++ autoconf nginx php mysql mysql-server php-mysql php-gd php-xml mysql-connector-odbc mysql-devel libxml2-devel libevent-devel
yum -y install libdbi-dbd-mysql httpd-manual mod_ssl mod_perl mod_auth_mysql php-ldap php-pear net-snmp-devel curl-devel php-xmlrpc
yum -y install php-mbstring php-bcmath
1.下载源代码安装
wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.4.4/zabbix-3.4.4.tar.gz
tar -zxvf zabbix-3.4.0.tar.gz
2.创建用户账户
对于所有Zabbix的守护进程,需要一个无特权的用户。如果Zabbix守护进程以一个无特权的用户账户启动,那么它会使用该用户运行。然而,如果一个守护进程以‘root’用户启动,它会切换为‘zabbix’用户账户,且这个用户必须存在。在Linux系统中,可以使用下面命令建立一个用户(该用户属于自己的用户组,“zabbix”):
groupadd zabbix
useradd -g zabbix zabbix
3.创建Zabbix数据库
yum -y install mariadb-server mariadb-client
systemctl enable mariadb
systemctl start mariadb
systemctl enable nginx
systemctl start nginx
mysqladmin -uroot password zabbix (设置mysql 的root 密码)
mysql -uroot -pzabbix(登陆数据库)
mysql>create database zabbix character set utf8;
mysql>grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
mysql>flush privileges;
mysql>\q
导入数据库文件,初始化数据库(文件在安装包的database/mysql目录下)
mysql -uzabbix -pzabbix zabbix < ./database/mysql/schema.sql
mysql -uzabbix -pzabbix zabbix < ./database/mysql/images.sql
mysql -uzabbix -pzabbix zabbix < ./database/mysql/data.sql
4.安装配置zabbix
编译安装server端:./configure --prefix=/opt/app/zabbix --enable-server --enable-agent --with-mysql --with-libcurl --with-net-snmp --with-libcurl --with-libxml2 --enable-proxy
make install
#如果MySQL客户端类库不再默认的位置,需要在MySQL的配置文件中添加可选路径 --with-mysql=/<文件路径>/mysql_config 。这可以有效解决,一个系统上安装了多个版本的MySQL或者MariaDB的情况。
配置zabbix server配置文件
vim zabbix_server.conf
LogFile=/var/log/zabbix_server.log
DBName=zabbix
DBUser=root
DBPassword=zabbix
DBPort=3306
AlertScriptsPath=/opt/zabbix/scripts(自定义脚本存放路径)
加入启动服务systemctl
vim /etc/services
zabbix-agent 10050/tcp
zabbix-agent 10050/udp
zabbix-trapper 10051/tcp
zabbix-trapper 10051/udp
chown zabbix.zabbix /var/log/zabbix_server.log
ln -s /opt/zabbix/etc/* /etc/zabbix/
ln -s /opt/zabbix/bin/* /usr/bin/
ln -s /opt/zabbix/sbin/* /usr/sbin/
(此文件在安装包的misc/init.d/fedora/core/下)
cp /root/zabbix/misc/init.d/fedora/core/* /etc/init.d/
chmod 755 /etc/init.d/zabbix_*
sed -i "s#BASEDIR=/usr/local#BASEDIR=/opt/zabbix#g" /etc/init.d/zabbix_server
sed -i "s#BASEDIR=/usr/local#BASEDIR=/opt/zabbix#g" /etc/init.d/zabbix_agentd
sed -i "s/DBUser\=root/DBUser\=zabbix/g" /etc/zabbix/zabbix_server.conf
sed -i "/# DBPassword=/aDBPassword=zabbix\n" /etc/zabbix/zabbix_server.conf
sed -i "s#tmp/zabbix_server.log#var/log/zabbix_server.log#g" /etc/zabbix/zabbix_server.conf
安装Zabbix web界面
复制PHP文件
Zabbix前端使用PHP写的,所以必须运行在PHP支持的Web服务器上。只需要简单的从安装包下frontends/php路径下复制PHP文件到Web服务器的HTML文件目录,就可以完成安装。
cp -r ./frontends/php/ /var/www/html/zabbix
chown -R apache.apache /var/www/html/zabbix
chkconfig zabbix_server --add
chkconfig zabbix_agentd --add
service zabbix_server start
service zabbix_agentd start
在zabbix管理网站配置之前必须修改php参数
vim /etc/php.ini
max_execution_time = 300
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
max_input_time = 300
date.timezone = PRC(时区,RPC代表中国时区)
重启nginx或者httpd服务生效
在浏览器中登录管理页面初始化zabbix:http://localhost/zabbix
默认初始管理员账号:Admin,密码zabbix
管理页面修改为中文:
vim /var/www/html/zabbix/include/locales.inc.php
找到zh_CN 将,flase改为true(3.2版本之后默认就是true)
'zh_CN' => ['name' => _('Chinese (zh_CN)'), 'display' => true]
登录Zabbix管理界面,找到Administrator-User选项
在user里面,选择语言-Chinese(zh_CN)-update-刷新Zabbix Web页面