CentOS8_LAMP_编译安装Zabbix5.0.12
笺注:这是在 CentOS8安装LAMP+phpMyAdmin 的基础上进行的。
安装依赖软件包:
dnf -y install gcc gcc-c++ wget autoconf automake zlib zlib-devel openssl openssl-devel pcre pcre-devel make
dnf -y install net-snmp-devel libxml2-devel libevent libevent-devel libcurl mysql-devel curl-devel php-ldap *bcmath*
下载Zabbix5.0.12的软件安装包:https://pan.baidu.com/s/1TIjrsO6Yn9BvClMkAvkNFg,提取码:txfs
编译安装Zabbix:
tar -zxvf zabbix-5.0.12.tar.gz
cd zabbix-5.0.12
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
make install
配置数据库:( 使用数据库管理员root@localhost )
创建一个库zabbix:
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.001 sec)
查看库zabbix的字符集:
MariaDB [(none)]> show create database zabbix;
+----------+----------------------------------------------------------------------------------+
| Database | Create Database |
+----------+----------------------------------------------------------------------------------+
| zabbix | CREATE DATABASE `zabbix` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin */ |
+----------+----------------------------------------------------------------------------------+
1 row in set (0.000 sec)
笺注:库zabbix的字符集为 utf8_bin
切换到库zabbix:
MariaDB [(none)]> use zabbix;
Database changed
导入Zabbix的表:
MariaDB [zabbix]> source /root/zabbix-5.0.12/database/mysql/schema.sql;
MariaDB [zabbix]> source /root/zabbix-5.0.12/database/mysql/images.sql;
MariaDB [zabbix]> source /root/zabbix-5.0.12/database/mysql/data.sql;
授权数据库用户zabbix@localhost对库zabbix有完全控制的权限,密码:168
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by '168';
Query OK, 0 rows affected (0.001 sec)
查看本地数据库用户zabbix@localhost的权限:
MariaDB [(none)]> show grants for zabbix@localhost;
+---------------------------------------------------------------------------------------------------------------+
| Grants for zabbix@localhost |
+---------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'zabbix'@'localhost' IDENTIFIED BY PASSWORD '*242E46A1E8D30FE06F7CE37B55BFC25BA981D70C' |
| GRANT ALL PRIVILEGES ON `zabbix`.* TO 'zabbix'@'localhost' |
+---------------------------------------------------------------------------------------------------------------+
2 rows in set (0.001 sec)
创建系统用户zabbix:
useradd -s /sbin/nologin zabbix
创建Zabbix的日志存放目录:
mkdir -p /usr/local/zabbix/logs
更改目录的属主、属组:
chown -R zabbix:zabbix /usr/local/zabbix
配置Zabbix本机的客户端:
[root@centos8 ~]# vi /usr/local/zabbix/etc/zabbix_agentd.conf
修改:
PidFile=/usr/local/zabbix/zabbix_agentd.pid
LogFile=/usr/local/zabbix/logs/zabbix_agentd.log
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=Zabbix server
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
配置Zabbix本机的服务端:
[root@centos8 ~]# vi /usr/local/zabbix/etc/zabbix_server.conf
修改:
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=168
DBSocket=/var/lib/mysql/mysql.sock
Timeout=4
LogSlowQueries=3000
Include=/usr/local/zabbix/etc/zabbix_server.conf.d/*.conf
备注:
[root@centos8 ~]# find / -name mysql.sock
/var/lib/mysql/mysql.sock
启动Zabbix本机的客户端和服务端:
/usr/local/zabbix/sbin/zabbix_agentd
/usr/local/zabbix/sbin/zabbix_server
开机自动启动Zabbix本机的客户端和服务端:
echo '/usr/local/zabbix/sbin/zabbix_agentd' >> /etc/rc.local
echo '/usr/local/zabbix/sbin/zabbix_server' >> /etc/rc.local
chmod a+x /etc/rc.d/rc.local
检测Zabbix本机的客户端有没有在运行:(在运行时)
[root@centos8 ~]# ps -ef |grep zabbix_agentd |grep -v grep > /dev/null && echo $?
0
[root@centos8 ~]#
检测Zabbix本机的服务端有没有在运行:(在运行时)
[root@centos8 ~]# ps -ef |grep zabbix_server |grep -v grep > /dev/null && echo $?
0
[root@centos8 ~]#
复制Zabbix的Web应用程序至Apache网站根目录:
[root@centos8 ~]# mkdir -p /var/www/html/zabbix/
[root@centos8 ~]# cp -r /root/zabbix-5.0.12/ui/* /var/www/html/zabbix/
修改Apache的默认首页文件:
[root@centos8 ~]# vi /etc/httpd/conf/httpd.conf
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
修改为:
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
重启Apache:
[root@centos8 ~]# systemctl restart httpd
修改PHP的配置文件:(这里不修改的话,在Web部分安装时会失败的)
[root@centos8 ~]# vi /etc/php.ini
修改:
max_execution_time = 300
post_max_size = 16M
max_input_time = 300
date.timezone = Asia/Shanghai
追加:
extension=bcmath.so
重启php-fpm:
[root@centos8 ~]# systemctl restart php-fpm
#########
在Windows客户端进行Web部分的安装:(建议使用Frefox浏览器)
http://192.168.168.154/zabbix/
如果提示其他错误,可以修改PHP的配置文件:
这里只需要输入数据库用户zabbix@localhost的密码,再点击“Next step”:
这里直接点击“Next step”:
这里直接点击“Next step”:
来到这里会有问题:
解决方法:
1. 下载文件;
2. 把文件复制到指定位置:
[root@centos8 ~]# cp zabbix.conf.php /var/www/html/zabbix/conf/zabbix.conf.php
3.点击本页面底下的“Finish”按键。
来到这里,点击“Finish”按键就完成安装了:
Admin的登录密码默认为:zabbix
Zabbix的主页:
默认是英文的:
Administration》Users》Admin:
设置用户Admin的语言为中文:
用户Admin的语言变为中文了:
配置》主机:
默认就会监控Zabbix本机(Zabbix server):
Zabbix本机自带的模板:( Template App Zabbix Server, Template OS Linux by Zabbix agent )
查看Zabbix本机的自带图形:(监控项、触发器、图形都来源于所使用的模板)
监测》主机》左击主机名称Zabbix server》图形:
选择时间范围:
使用“过滤器”,选择显示的图形:(默认会显示所有图形)
笺注:在这里可以看到图形界面上的中文出现乱码,这是因为Zabbix自身对中文简体的支持不完善,需要使用新的字体进行替换:
[root@centos8 ~]# find /var/www/html/ -name "*.ttf"
/var/www/html/zabbix/assets/fonts/DejaVuSans.ttf
下载字体:https://pan.baidu.com/s/1-ThlwfsgLwDBPyQ076BT0g 提取码:07a9
手动上传新的字体:
[root@centos8 ~]# ls *.ttc
simsun.ttc
[root@centos8 ~]# mv -f simsun.ttc /var/www/html/zabbix/assets/fonts/DejaVuSans.ttf
接着,刷新一下页面就好了:
Zabbix本机的进程数:
Zabbix本机的网卡流量:
单位:
bps: 比特/秒
Kbps: 千比特/秒
Mbps: 兆比特/秒
Zabbix本机的CPU使用率:
Zabbix本机的内存使用率:
Zabbix本机的根分区使用情况:
可以看到根分区的大小、已使用量、使用率:
Zabbix本机的第一块硬盘的读写速度:( nvme0n1: Disk read/write rates)
假如主机的图形迟迟不出现,也可以手动检查一下该主机的自动发现规则:
配置》主机》选择主机》自动发现:
查看Zabbix本机的触发器:
在“触发器”里使用“过滤器”:
根据触发器名称里的关键字查找某个触发器:
模板Template OS Linux by Zabbix agent默认自带服务器重启的触发器:
{HOST.NAME} has been restarted (uptime < 10m)
注释:
{HOST.NAME} 是预定义变量,即当前主机的名称;
默认的严重性为“警告”;
把严重性更改为“严重”:
此触发器默认已启用:(可以在这里关闭触发器)
测试一下以上的触发器:
以防关闭系统时卡死,关机、重启前,最好先关闭Zabbix所有相关的进程:
[root@centos8 ~]# pkill -9 -U zabbix
[root@centos8 ~]#
检测Zabbix本机的客户端有没有在运行:(没有运行时)
[root@centos8 ~]# ps -ef |grep zabbix_agentd |grep -v grep > /dev/null && echo $?
[root@centos8 ~]#
检测Zabbix本机的服务端有没有在运行:(没有运行时)
[root@centos8 ~]# ps -ef |grep zabbix_server |grep -v grep > /dev/null && echo $?
[root@centos8 ~]#
重启服务器:
[root@centos8 ~]# reboot
监测》仪表板:
当主机Zabbix server重启后,仪表板会如下图显示:(显示对应触发器的名称)
Zabbix server has been restarted (uptime < 10m)
#############
#############
自定义创建Zabbix的键值:
修改Zabbix服务器的Agent配置文件(配置Zabbix本机的客户端):
[root@centos8 ~]# find / -name zabbix_agentd.conf
/root/zabbix-5.0.12/conf/zabbix_agentd.conf
/usr/local/zabbix/etc/zabbix_agentd.conf
[root@centos8 ~]# vi /usr/local/zabbix/etc/zabbix_agentd.conf
# UnsafeUserParameters=0
修改为:(启用该功能)
UnsafeUserParameters=1
接着插入:
UserParameter=command_1,df -hl |grep /$ |awk '{print $5}' |awk -F% '{print $1}'
UserParameter=command_2,mysql -u"zabbix" -p"168" -h"localhost" -e"show status like 'threads_connected'" |grep "Threads_connected" |awk '{print $2}'
如下图:(截图有省略)
保存好配置文件后,重启一下Zabbix本机的客户端和服务端:
pkill -9 -U zabbix
/usr/local/zabbix/sbin/zabbix_agentd
/usr/local/zabbix/sbin/zabbix_server
获取本机的根分区使用率:
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k command_1
6
[root@centos8 ~]#
获取本机的MariaDB的当前打开的连接数:
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k command_2
26
[root@centos8 ~]#
###
在库zabbix中创建表、插入测试的数据:
MariaDB [(none)]> use zabbix;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [zabbix]>
MariaDB [zabbix]> Create table Table_1(Name varchar(20),Age tinyint);
Query OK, 0 rows affected (0.043 sec)
MariaDB [zabbix]>
MariaDB [zabbix]> INSERT into Table_1 (Name,Age) values ('Zhuohua',8);
Query OK, 1 row affected (0.001 sec)
MariaDB [zabbix]>
MariaDB [zabbix]> INSERT into Table_1 (Name,Age) values ('Python',3);
Query OK, 1 row affected (0.001 sec)
MariaDB [zabbix]>
获取SQL语句执行后的返回值的Shell脚本:
[root@centos8 ~]# cat /scripts/xx.sh
#!/bin/bash
mysql -u"zabbix" -p"168" -h"localhost" -sN -e"Select Age from zabbix.Table_1 where Name = 'Zhuohua'"
[root@centos8 ~]#
设置脚本权限:
[root@centos8 ~]# chmod a+x /scripts/xx.sh
[root@centos8 ~]#
[root@centos8 ~]# ll /scripts/xx.sh
-rwxr-xr-x 1 root root 113 8月 16 10:25 /scripts/xx.sh
[root@centos8 ~]#
获取SQL语句执行后的返回值的Shell脚本:
[root@centos8 ~]# cat /scripts/yy.sh
#!/bin/bash
mysql -u"zabbix" -p"168" -h"localhost" -sN -e"Use zabbix;Select Age from Table_1 where Name = 'Python'"
[root@centos8 ~]#
设置脚本权限:
[root@centos8 ~]# chmod a+x /scripts/yy.sh
[root@centos8 ~]#
[root@centos8 ~]# ll /scripts/yy.sh
-rwxr-xr-x 1 root root 116 8月 16 10:25 /scripts/yy.sh
[root@centos8 ~]#
再次修改Zabbix服务器的Agent配置文件:
[root@centos8 ~]# vi /usr/local/zabbix/etc/zabbix_agentd.conf
接着插入:
UserParameter=command_3,/bin/bash /scripts/xx.sh
UserParameter=command_4,/bin/bash /scripts/yy.sh
如下图:(截图有省略)
保存好配置文件后,重启一下Zabbix本机的客户端和服务端:
pkill -9 -U zabbix
/usr/local/zabbix/sbin/zabbix_agentd
/usr/local/zabbix/sbin/zabbix_server
Zabbix服务器获取SQL语句执行后的返回值:
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k command_3
8
[root@centos8 ~]#
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k command_4
3
[root@centos8 ~]#
###
在库zabbix的表Table_1中更改数据:
MariaDB [(none)]> use zabbix;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [zabbix]>
MariaDB [zabbix]> Update Table_1 set Age = 18 where Name = 'Zhuohua';
Query OK, 1 row affected (0.002 sec)
Rows matched: 1 Changed: 1 Warnings: 0
MariaDB [zabbix]>
MariaDB [zabbix]> Select Age from zabbix.Table_1 where Name = 'Zhuohua';
+------+
| Age |
+------+
| 18 |
+------+
1 row in set (0.000 sec)
MariaDB [zabbix]>
Zabbix服务器再次获取SQL语句执行后的返回值:
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k command_3
18
[root@centos8 ~]#
相关文章:
CentOS8编译安装Zabbix4.4.5
CentOS8_LNMP_编译安装Zabbix5.0.12
MySQL的字符集
Zabbix5.0.12_通过脚本发送Zabbix告警邮件(使用126邮箱的465端口)
Zabbix5.0.12_使用Agent监控CentOS6(自编译)
Zabbix5.0.12_使用Agent监控CentOS7(RPM包)
Zabbix5.0.12_调用Shell脚本监控Linux下的MySQL
Zabbix5.0.12_使用Ping的模板监控主机网络延迟情况 |