Zabbix监控服务部署
Zabbix监控服务部署
介绍
常见监控服务
-
cacti 服务器流量图
-
nagios 报警
-
zabbix既可以画图也可以报警,有图形化界面
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix
能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix
构成:
- zabbix server
- zabbix agent(可选)
特点
zabbix的主要特点:
- 安装与配置简单,学习成本低
- 支持多语言(包括中文)
- 免费开源
- 自动发现服务器与网络设备
- 分布式监视以及WEB集中管理功能
- 可以无agent监视
- 用户安全认证和柔软的授权方式
- 通过WEB界面设置或查看监视结果
- email等通知功能
Zabbix主要功能:
-
CPU负荷
-
内存使用
-
磁盘使用
-
网络状况
-
端口监视
-
日志监视
zabbix配置文件
服务器端配置文件zabbix_server.conf常用配置参数:
- 服务器端配置文件(/usr/local/etc/zabbix_server.conf)
- 客户端配置文件(/usr/local/etc/zabbix_agentd.conf)
- zabbix代理配置文件(/usr/local/etc/zabbix_proxy.conf)
参数 | 作用 |
---|---|
LogFile | 设置服务端日志文件存放路径 |
ListenIP | 设置服务端监听IP |
ListenPort | 设置服务端监听的端口号 |
PidFile | 设置服务端进程号文件存放路径 |
DBHost | 指定zabbix的数据库服务器IP |
DBName | 指定zabbix使用的数据库库名 |
DBUser | 指定zabbix数据库登录用户 |
DBPassword | 指定zabbix数据库登录密码 |
DBPort | 指定zabbix数据库端口号 |
User | 设置zabbix以什么用户的身份运行 |
AlertScriptsPath | 设置告警脚本存放路径 |
ExternalScripts | 外部脚本存放路径 |
部署zabbix
环境:
环境 | IP | 应用 |
---|---|---|
服务器 | 192.168.94.143(node2) | lamp\zabbix server\zabbix agent |
准备工作
务必确保selinux防火墙关闭!!!
源码包地址:https://cdn.zabbix.com/zabbix/sources/stable/5.2/zabbix-5.2.6.tar.gz
//下载
[root@node2 ~]# yum -y install net-snmp-devel libevent-devel
[root@node2 ~]# wget https://cdn.zabbix.com/zabbix/sources/stable/5.2/zabbix-5.2.6.tar.gz
//解压
[root@node2 ~]# tar xf zabbix-5.2.6.tar.gz -C
//添加用户组
[root@node2 ~]# groupadd -r zabbix
[root@node2 ~]# useradd -r -g zabbix -M -s /sbin/nologin zabbix
//配置zabbix数据库
[root@node2 ~]# mysql -uroot -p123456
mysql> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.01 sec)
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix123!';
Query OK, 0 rows affected, 2 warnings (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> quit
//写入zabbix数据库
[root@node2 ~]# cd zabbix-5.2.6/database/mysql/
[root@node2 mysql]# ll
total 13384
-rw-r--r--. 1 1000 1000 11535807 Mar 29 17:21 data.sql
-rw-r--r--. 1 1000 1000 282 Mar 29 17:02 double.sql
-rw-r--r--. 1 1000 1000 1978341 Mar 29 16:33 images.sql
-rw-r--r--. 1 1000 1000 482 Mar 29 17:02 Makefile.am
-rw-r--r--. 1 1000 1000 15982 Mar 29 17:21 Makefile.in
-rw-r--r--. 1 1000 1000 160579 Mar 29 17:21 schema.sql
[root@node2 mysql]# mysql -uzabbix -pzabbix123! zabbix < schema.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@node2 mysql]# mysql -uzabbix -pzabbix123! zabbix < images.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@node2 mysql]# mysql -uzabbix -pzabbix123! zabbix < data.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
安装
//编译安装
[root@node2 zabbix-5.2.6]# [root@node2 zabbix-5.2.6]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2
[root@node2 zabbix-5.2.6]# make install
//服务端配置
[root@node2 zabbix-5.2.6]# echo 'DBPassword=zabbix123!'>> /usr/local/zabbix/etc/zabbix_server.conf
echo 'DBSocket=/tmp/mysql.sock'>> /usr/local/zabbix/etc/zabbix_server.conf
//mysql库文件链接
[root@node2 zabbix-5.2.6]# ln -s /usr/local/mysql/lib/libmysqlclient.so.20 /usr/local/lib/libmysqlclient.so.20
[root@node2 zabbix-5.2.6]# echo '/usr/local/lib'>> /etc/ld.so.conf
[root@node2 zabbix-5.2.6]# ldconfig -v
//启动服务
[root@node2 zabbix-5.2.6]# zabbix_server
[root@node2 zabbix-5.2.6]# zabbix_agentd
[root@node2 zabbix-5.2.6]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 128 0.0.0.0:10050 0.0.0.0:*
LISTEN 0 128 0.0.0.0:10051 0.0.0.0:*
LISTEN 0 128 127.0.0.1:9000 0.0.0.0:*
LISTEN 0 128 *:80 *:*
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 80 *:3306 *:*
zabbix服务端web界面安装配置
//修改参数,重启php服务
[root@node2 ~]# sed -ri 's/(post_max_size =).*/\1 16M/g' /etc/php.ini
[root@node2 ~]# sed -ri 's/(max_execution_time =).*/\1 300/g' /etc/php.ini
[root@node2 ~]# sed -ri 's/(max_input_time =).*/\1 300/g' /etc/php.ini
[root@node2 ~]# sed -i '/;date.timezone/a date.timezone = Asia/Shanghai' /etc/php.ini
[root@node2 ~]# systemctl restart php-fpm.service
//复制前端文件到apache目录的zabbix下更改属主组
[root@node2 ~]# cd zabbix-5.2.6/
[root@node2 zabbix-5.2.6]# mkdir /usr/local/apache/htdocs/zabbix
[root@node2 zabbix-5.2.6]# cp -a ui/* /usr/local/apache/htdocs/zabbix/
[root@node2 zabbix-5.2.6]# chown -R apache.apache /usr/local/apache/htdocs/zabbix/
//创建虚拟主机
[root@node2 zabbix-5.2.6]# vim /etc/httpd24/httpd.conf
<VirtualHost *:80>
DocumentRoot "/usr/local/apache/htdocs/zabbix"
ServerName zabbix.wangqing.com
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/usr/local/apache/htdocs/zabbix/$1
<Directory "/usr/local/apache/htdocs/zabbix">
Options none
AllowOverride none
Require all granted
</Directory>
</VirtualHost>
//更改执行权限让zabbix生成配置文件
[root@node2 zabbix-5.2.6]# chmod 777 /usr/local/apache/htdocs/zabbix/conf
[root@node2 zabbix-5.2.6]# ll -d /usr/local/apache/htdocs/zabbix/conf
drwxrwxrwx. 3 zabbix zabbix 94 Mar 29 17:21 /usr/local/apache/htdocs/zabbix/conf
//重启apapche服务
[root@node2 zabbix-5.2.6]# apachectl restart
[root@node2 zabbix-5.2.6]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 128 0.0.0.0:10051 0.0.0.0:*
LISTEN 0 128 127.0.0.1:9000 0.0.0.0:*
LISTEN 0 80 *:3306 *:*
LISTEN 0 128 *:80 *:*
LISTEN 0 128 [::]:22 [::]:*
开机自启配置
[root@node2 zabbix-5.2.6]# cp -r misc/init.d/fedora/core/* /etc/init.d/
[root@node2 ~]# chmod 775 /etc/init.d/zabbix_*
[root@node2 zabbix-5.2.6]# sed -i 's/BASEDIR=\/usr\/local/&\/zabbix/g' /etc/init.d/zabbix_server
[root@node2 zabbix-5.2.6]# sed -i 's/BASEDIR=\/usr\/local/&\/zabbix/g' /etc/init.d/zabbix_agentd
//测试启动
root@node2 zabbix-5.2.6]# pkill zabbix
[root@node2 zabbix-5.2.6]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 128 127.0.0.1:9000 0.0.0.0:*
LISTEN 0 80 *:3306 *:*
LISTEN 0 128 *:80 *:*
LISTEN 0 128 [::]:22 [::]:*
[root@node2 zabbix-5.2.6]# /etc/init.d/zabbix_server start
Reloading systemd: [ OK ]
Starting zabbix_server (via systemctl): [ OK ]
[root@node2 zabbix-5.2.6]# /etc/init.d/zabbix_agentd start
Starting zabbix_agentd (via systemctl): [ OK ]
//加载配置
[root@node2 zabbix-5.2.6]# chkconfig zabbix_server on
[root@node2 zabbix-5.2.6]# chkconfig zabbix_agentd on
[root@node2 zabbix-5.2.6]# reboot
** 只自启了agentd,待研究
网页图形界面配置