Zabbix是一个基于Web界面的分布式系统监控的企业级开源软件。可以实现远程服务器/网络状态的监视,数据收集等功,保障服务器及设备的安全运营。
Zabbix的功能和特性
Zabbix的系统组成
zabbix系统包含的进程
默认情况下zabbix包含5个程序:zabbix_agentd、zabbix_get、zabbix_proxy、zabbix_sender、zabbix_server,另外一个zabbix_java_gateway是可选,这个需要另外安装。下面来分别介绍下他们各自的作用。
各进程对应的zabbix/3.4/rhel/7/x86_64/(下载地址http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/)安装包如下:
(server端)zabbix-get-3.4.2-1.el7.x86_64.rpm
(server端或额外主机)zabbix-proxy-mysql-3.4.2-1.el7.x86_64.rpm
(server端)zabbix-server-mysql-3.4.2-1.el7.x86_64.rpm
(server端)zabbix-web-3.4.2-1.el7.noarch.rpm
(server端)zabbix-web-mysql-3.4.2-1.el7.noarch.rpm
(client端)zabbix-agent-3.4.2-1.el7.x86_64.rpm
(client端)zabbix-sender-3.4.2-1.el7.x86_64.rpm
为了避免安装配置过程中出现不必要的麻烦请设置Selinux为disable以及防火墙关闭
因为服务端采集到的数据存储在数据库中,所以首先需要安装数据库,rhel7自带mariadb,如果不会安装请参阅我的博文 MariaDB数据库的安装配置及常用操作
安装完数据库之后建表授权:
[root@lockey ~]# mysql -uroot -phalo
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 5
Server version: 5.5.56-MariaDB MariaDB Server
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> CREATE DATABASE zabbix CHARSET 'utf8';####################建立数据库
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> GRANT ALL ON zabbix.* TO 'lockey'@'192.168.%.%' IDENTIFIED BY 'lockey23';##############授权网段
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> GRANT ALL ON zabbix.* TO 'lockey'@'localhost' IDENTIFIED BY 'lockey23';##############授权lcoalhost
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]>
数据库妥当之后我们可以来安装zabbix server端各组件了,所需要安装包如下:
[root@lockey ~]# ls | grep zabbix
zabbix-get-3.4.2-1.el7.x86_64.rpm
zabbix-proxy-mysql-3.4.2-1.el7.x86_64.rpm
zabbix-server-mysql-3.4.2-1.el7.x86_64.rpm
zabbix-web-3.4.2-1.el7.noarch.rpm
zabbix-web-mysql-3.4.2-1.el7.noarch.rpm
yum install -y *.rpm
在rhel7.x86_64系统中yum安装会提示依赖缺失:
Error: Package: zabbix-proxy-mysql-3.4.2-1.el7.x86_64 (/zabbix-proxy-mysql-3.4.2-1.el7.x86_64)
Requires: fping
Error: Package: zabbix-server-mysql-3.4.2-1.el7.x86_64 (/zabbix-server-mysql-3.4.2-1.el7.x86_64)
Requires: fping
Error: Package: zabbix-server-mysql-3.4.2-1.el7.x86_64 (/zabbix-server-mysql-3.4.2-1.el7.x86_64)
Requires: libiksemel.so.3()(64bit)
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
通过以下方法解决(或者也可以通过rpm包一个个解决,但是比较费事):
# yum install -y epel-release
# yum install -y iksemel fping libiksemel
以上步骤没有出错的话服务端各模块安装完成,进入配置
3.1 数据库的配置
找到数据库文件:
[root@lockey ~]# rpm -ql zabbix-server-mysql
/etc/logrotate.d/zabbix-server
/etc/zabbix/zabbix_server.conf
/usr/lib/systemd/system/zabbix-server.service
/usr/lib/tmpfiles.d/zabbix-server.conf
/usr/lib/zabbix/alertscripts
/usr/lib/zabbix/externalscripts
/usr/sbin/zabbix_server_mysql
/usr/share/doc/zabbix-server-mysql-3.4.2
/usr/share/doc/zabbix-server-mysql-3.4.2/AUTHORS
/usr/share/doc/zabbix-server-mysql-3.4.2/COPYING
/usr/share/doc/zabbix-server-mysql-3.4.2/ChangeLog
/usr/share/doc/zabbix-server-mysql-3.4.2/NEWS
/usr/share/doc/zabbix-server-mysql-3.4.2/README
/usr/share/doc/zabbix-server-mysql-3.4.2/create.sql.gz####
/usr/share/man/man8/zabbix_server.8.gz
/var/log/zabbix
/var/run/zabbix
解压数据库文件
[root@lockey ~]# cd /usr/share/doc/zabbix-server-mysql-3.4.2/
[root@lockey zabbix-server-mysql-3.4.2]# gunzip create.sql.gz
执行数据库命令:
[root@lockey zabbix-server-mysql-3.4.2]# mysql -ulockey -h 192.168.0.41 -plockey23 zabbix
查看数据库条目确认操作成功:
MariaDB [(none)]> use zabbix
Database changed
MariaDB [zabbix]> show tables;
+----------------------------+
| Tables_in_zabbix |
+----------------------------+
| acknowledges |
| actions |
| alerts |
| application_discovery |
。。。
| hosts_groups |
| hosts_templates |
。。。
| widget_field |
+----------------------------+
140 rows in set (0.00 sec)
3.2 zabbix server启动文件配置
[root@lockey ~]# sed -n ‘/#/!p’ /etc/zabbix/zabbix_server.conf
ListenPort=10051//监听端口
SourceIP=192.168.0.41//server 所在主机地址
LogType=file
LogFile=/var/log/zabbix/zabbix_server.log//日志路径
LogFileSize=0 //日志的转储
DebugLevel=3
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBHost=localhost//数据库的地址
DBName=zabbix //数据库名字
DBUser=lockey //数据库用户
DBPassword=lockey23 //数据库密码
DBSocket=/var/lib/mysql/mysql.sock//连接数据库的sock
DBPort=3306//数据库端口
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
3.3 zabbix web配置
关于Apache以及php支持的基本配置请参阅本人以前的博客
配置php时区参数(两处)
[root@lockey ~]# cat /etc/php.ini | grep timezone
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Shanghai
[root@lockey ~]# cat /etc/httpd/conf.d/zabbix.conf | grep timezone
php_value date.timezone Asia/Shanghai
启动web服务
[root@lockey ~]# systemctl start httpd
浏览器中访问server所在主机http://HOST/zabbix
点击next
点击next(如果列出项都是绿色ok)
填写配置点击next
点击next(Name为可选)
点击next
确认无误点击next
出现登录界面如下(admin/zabbix):
登录成功页面
记录我本人此过程出现的问题
原因:未进行用户的localhost授权
解决:MariaDB [(none)]> GRANT ALL ON zabbix.* TO 'lockey'@'localhost' IDENTIFIED BY 'lockey23';
登录成功提示server出现问题的可以查看日志定位解决
cat /var/log/zabbix/zabbix_server.log
一般安装完成系统默认为英文的,如果需要设置为中文请进行以下操作:
前提是:
[root@lockey ~]# vim /usr/share/zabbix/include/locales.inc.php###中的这一行内容为如下
'zh_CN' => ['name' => _('Chinese (zh_CN)'), 'display' => true],
待续。。。