这是在 CentOS8安装LAMP+phpMyAdmin 的基础上进行的。
安装依赖软件包:
yum -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*
下载Zabbix4.4.5的软件安装包: https://pan.baidu.com/s/1EJuZZWxMG9n0U_DvaMg89g 提取码:07wv
编译安装Zabbix:
tar -zxvf zabbix-4.4.5.tar.gz
cd zabbix-4.4.5
./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_general_ci;
查看库zabbix的字符集:
MariaDB [(none)]> show create database zabbix;
+----------+-----------------------------------------------------------------+
| Database | Create Database |
+----------+-----------------------------------------------------------------+
| zabbix | CREATE DATABASE `zabbix` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+-----------------------------------------------------------------+
1 row in set (0.000 sec)
笺注:库zabbix的字符集为 utf8_general_ci
切换到库zabbix:
MariaDB [(none)]> use zabbix;
导入Zabbix的表:
MariaDB [zabbix]> source /root/zabbix-4.4.5/database/mysql/schema.sql;
MariaDB [zabbix]> source /root/zabbix-4.4.5/database/mysql/images.sql;
MariaDB [zabbix]> source /root/zabbix-4.4.5/database/mysql/data.sql;
授权zabbix@localhost对库zabbix有完全控制的权限,密码:168
MariaDB [zabbix]> grant all privileges on zabbix.* to zabbix@localhost identified by '168';
查看本地数据库用户zabbix@localhost的权限:
MariaDB [zabbix]> 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 /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网站根目录:
mkdir -p /var/www/html/zabbix/
cp -r /root/zabbix-4.4.5/frontends/php/* /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的密码:
这里保持默认:
来到这里会有问题:
解决方法:
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的语言为中文:
笺注:还要点击本页面底下的“Update”按键。
用户Admin的语言变为中文了:
配置》主机:
默认就会监控Zabbix本机(Zabbix server):
Zabbix本机自带的模板:
查看Zabbix本机的自带图形:(监控项、触发器、图形都来源于所使用的模板)
监测》图形:
Zabbix本机的CPU使用率:
笺注:在这里可以看到图形界面上的中文出现乱码,这是因为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 -lh *.ttc
-rw-r--r-- 1 root root 15M 9月 26 2019 simsun.ttc
[root@centos8 ~]# mv -f simsun.ttc /var/www/html/zabbix/assets/fonts/DejaVuSans.ttf
接着,刷新一下页面就好了:
Zabbix本机的内存使用率:
Zabbix本机的根分区使用情况:
可以看到根分区的大小、已使用量、使用率:
第一块硬盘的读写速度:( nvme0n1: Disk read/write rates )
网卡流量:
单位:
bps: 比特/秒
Kbps: 千比特/秒
Mbps: 兆比特/秒
假如主机的图形迟迟不出现,也可以手动检查一下该主机的自动发现规则:
点击进入:
本页拖下去:
############
############
在Zabbix服务器使用命令行,测试本机的指定监控TCP端口是否处于侦听状态:
(返回 0 - 未侦听;1 - 正在侦听)
[root@centos8 ~]# systemctl stop mysqld
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k net.tcp.listen[3306]
0
[root@centos8 ~]# systemctl start mysqld
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k net.tcp.listen[3306]
1
[root@centos8 ~]# systemctl stop vsftpd
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k net.tcp.listen[21]
0
[root@centos8 ~]# systemctl start vsftpd
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k net.tcp.listen[21]
1
############
在Zabbix服务器使用命令行,测试本机的指定进程是否处于运行状态:
[root@centos8 ~]# systemctl stop mysqld
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k proc.num[mysqld]
0
[root@centos8 ~]# systemctl start mysqld
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k proc.num[mysqld]
1
[root@centos8 ~]# systemctl stop vsftpd
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k proc.num[vsftpd]
0
[root@centos8 ~]# systemctl start vsftpd
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k proc.num[vsftpd]
1
############
在主机Zabbix server中创建监控项:
自定义名称: check_process_vsftpd
键值: proc.num[vsftpd]
备注:其他地方保持默认,点击页底“添加”按键。
创建触发器:
自定义名称: vsftpd is down on {HOST.IP}
严重性: 一般严重
注释: {HOST.IP} 是预定义变量,即当前主机的IP地址。
插入表达式: ( 监控项 Zabbix server: check_process_vsftpd )
自动生成的表达式:(触发器的表达式要用到监控项中的键值)
{Zabbix server:proc.num[vsftpd].last()}=0
本页拖下去:
确认触发器“vsftpd is down on {HOST.IP}”已经创建成功,并处于“已启用”状态:
测试:
[root@centos8 ~]# systemctl stop vsftpd
仪表板会如下图显示:(显示对应触发器的名称)
vsftpd is down on 127.0.0.1
[root@centos8 ~]# systemctl start vsftpd
仪表板的告警(触发器)自动消失:
备注:这种方法可以不用管进程的端口号。
############
############
给主机Zabbix server添加模板Template App FTP Service
笺注:其实这个模板的原理就是监控TCP 21端口,看这个端口是否能用。
配置》主机》点击主机名称Zabbix server》模板》选择:
确认模板Template App FTP Service添加成功:
笺注:
一台主机可以有多个模板;
主机会继承模板的监控项、触发器、图形等等;
############
模板Template App FTP Service自带的监控项:
名称: FTP service is running
键值: net.tcp.service[ftp]
############
模板Template App FTP Service自带的触发器:(触发器的表达式要用到监控项中的键值)
名称: FTP service is down on {HOST.NAME}
表达式: {Zabbix server:net.tcp.service[ftp].max(#3)}=0
注释: {HOST.NAME} 是预定义变量,即当前主机的名称。
此触发器默认已启用:(可以在这里关闭触发器)
############
模板Template App FTP Service没有对应的图形的,给监控项“FTP service is running”创建图形:
监控项: Zabbix server: FTP service is running
注释:可以自定义图形的绘画风格、颜色等等。
查看图形“ftp_status_image”:
监测》图形:
注释:
1为UP
0为DOWN
测试:
[root@centos8 ~]# systemctl stop vsftpd
当主机Zabbix server的FTP服务(vsftpd)关闭时,其TCP 21端口就不能用了,仪表板会如下图显示:(显示对应触发器的名称)
FTP service is down on Zabbix server
使用“过滤器”查找主机Zabbix server已经触发了的触发器:(值为问题)
配置》主机》点击主机名称Zabbix server》触发器》过滤器:
禁用某个触发器:
触发器禁用后,其状态为“停用的”:
状态为“停用的”的触发器,就不会出现在仪表板上了:
测试:
[root@centos8 ~]# systemctl start vsftpd
当主机Zabbix server的FTP服务(vsftpd)运行时,其TCP 21端口就能用了,仪表板的触发器“FTP service is down on Zabbix server”也就自动消失了:
#############
#############
自定义创建Zabbix的键值:
修改Zabbix服务器的Agent配置文件(配置Zabbix本机的客户端):
[root@centos8 ~]# find / -name zabbix_agentd.conf
/root/zabbix-4.4.5/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 variables like '%max_connections%'" |grep "max_connections"|awk '{print $2}' |tail -1
UserParameter=command_3,/bin/bash /scripts/xx.sh
如下图:(截图有省略)
保存好配置文件后,重启一下Zabbix本机的客户端和服务端:
[root@centos8 ~]# pkill -9 -U zabbix
[root@centos8 ~]# /usr/local/zabbix/sbin/zabbix_agentd
[root@centos8 ~]# /usr/local/zabbix/sbin/zabbix_server
[root@centos8 ~]#
获取本机的根分区使用率:
[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
151
[root@centos8 ~]#
Zabbix获取远程主机的MySQL的最大连接数的Shell脚本:
[root@centos8 ~]# cat /scripts/xx.sh
#!/bin/bash
mysql -u"zhuohua" -p"1234" -h"192.168.168.130" -e"show variables like '%max_connections%'" |tail -1 |awk '{print $2}'
[root@centos8 ~]#
[root@centos8 ~]# chmod a+x /scripts/xx.sh
[root@centos8 ~]#
[root@centos8 ~]# ll /scripts/xx.sh
-rwxr-xr-x 1 root root 130 8月 15 13:09 /scripts/xx.sh
[root@centos8 ~]#
获取远程主机的MySQL的最大连接数:
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k command_3
500
[root@centos8 ~]#
笺注:
远程MySQL服务器(IP 192.168.168.130),要先授权远程数据库用户zhuohua@'192.168.168.154'(密码1234),仅仅在使用IP地址192.168.168.154时可以进行访问,对库zabbix有完全控制的权限:
mysql> grant all on zabbix.* to zhuohua@'192.168.168.154' identified by '1234';
Query OK, 0 rows affected (0.00 sec)
mysql>
远程数据库用户zhuohua@'192.168.168.154'的权限:
mysql> show grants for zhuohua@'192.168.168.154';
+----------------------------------------------------------------------------------------------------------------------+
| Grants for zhuohua@192.168.168.154 |
+----------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'zhuohua'@'192.168.168.154' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF' |
| GRANT ALL PRIVILEGES ON `zabbix`.* TO 'zhuohua'@'192.168.168.154' |
+----------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
mysql>
远程主机的MySQL的最大连接数:
mysql> show variables like '%max_connections%';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 500 |
+-----------------+-------+
1 row in set (0.00 sec)
mysql>
远程主机打开TCP 3306端口,可参考 Zabbix5.0.12_调用Shell脚本监控Linux下的MySQL
#############
#############
以防关闭系统时卡死,关机、重启前,最好先关闭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 ~]#
相关文章:
CentOS6.9编译安装Zabbix4.4.5
CentOS8_LAMP_编译安装Zabbix5.0.12
Zabbix使用自编译/预编译Agent监控Oracle Linux6
CentOS8_在Docker中安装Zabbix4.4.5
Oracle Linux6.9安装Cacti
Oracle Linux6.9安装Nagios
Zabbix创建只读用户
CentOS8_通过脚本发送Zabbix告警邮件(使用新浪邮箱的25端口)
Zabbix使用Ping的模板监控主机网络延迟情况
Zabbix调用Python3脚本监控Linux下的Oracle(一)
Zabbix使用Agent监控CentOS6/Redhat6
MySQL的字符集
CentOS8基本命令
CentOS8_vsftpd匿名用户
Python3命令集
CentOS8使用Python3脚本管理MariaDB
备份+还原Zabbix
Zabbix使用模板监控Linux下的MariaDB
Zabbix创建模板监控Linux下的MariaDB
Zabbix调用Python3脚本监控Linux下的MariaDB
Zabbix监控Linux文件是否更改过
Zabbix监控Linux文件是否包含关键字
Zabbix监控Linux目录和文件的大小
#################################
#################################
亲,学习研究也要劳逸结合哦,来我微店逛逛,买点东西好好犒劳犒劳自己和家人吧^_^^_^
苏泊尔电压力锅家用智能5L高压饭煲特价
苏泊尔电磁炉火锅家用智能正品学生电池炉灶特价炒菜
苏泊尔电蒸锅多功能家用蒸气锅三层大容量电蒸笼蒸锅蒸菜自动断电
|