常用的监控软件
nagios 擅长报警,配置比较麻烦
cacti 擅长画流量图
zabbix 结合nagios和cacti的优点+grafana
prometheus (普罗米修斯) 监控容器
监控指标
硬件IPMI
电源
温度
软件
系统
内存使用率
cpu使用率
磁盘使用率
网络
网卡流量
业务层面
进程
日志
zabbix配置文件
配置文件存放位置
- 服务器端配置文件(/usr/local/etc/zabbix_server.conf)
- 客户端配置文件(/usr/local/etc/zabbix_agentd.conf)
- zabbix代理配置文件(/usr/local/etc/zabbix_proxy.conf)
服务器端配置文件zabbix_zerver.conf常用配置参数
配置文件中的参数 | 作用 |
---|---|
LogFile | 设置服务端日志文件存放路径 |
ListenIP | 设置服务端监听ip |
ListenPort | 设置服务端监听端口号 |
Pidfile | 设置服务端进程号文件存放路径 |
DBHost | 指定zabbix的数据库服务器ip |
DBName | 指定zabbix的使用的数据库库名 |
DBuser | 指定zabbix数据库登录用户 |
DBPassword | 指定zabbix数据库登录密码 |
FBPort | 指定zabbix数据库端口号 |
User | 设置zabbix以什么用户的身份运行 |
AlertScriptsPath | 设置告警脚本存放位置 |
ExternalScripts | 外部脚本存放位置 |
客户端配置文件zabbix_agentd.conf常用配置参数
配置文件中的参数 | 作用 |
---|---|
Server | 指定zabbix服务器的ip或域名 |
ServerActive | 指定zabbix服务器的ip或域名 |
Hostname | 指定本机的主机名,此项配置必须与web界面配置项一致 |
UnsafeUserParameters | 是否启用自定义监控项,{可选值为 1|0 } |
UserParameter | 指定自定义监控脚本参数 |
LogFile | 设置客户端日志文件存放路径 |
安装zabbix
zabbix是基于lamp架构进行搭建的,lamp架构搭建过程省略
下载zabbix源码包并解压
wget https://cdn.zabbix.com/zabbix/sources/stable/6.4/zabbix-6.4.6.tar.gz
tar -xf zabbix-6.4.6.tar.gz
安装依赖包
yum -y install net-snmp-devel libevent-devel mysql-devel
wget http://mirror.centos.org/centos/8-stream/PowerTools/x86_64/os/Packages/OpenIPMI-devel-2.0.31-3.el8.x86_64.rpm
yum -y install OpenIPMI-devel-2.0.31-3.el8.x86_64.rpm
创建zabbix用户
useradd -r -M -s /bin/nologin zabbix
配置zabbix数据库
#:创建zabbix数据库
create database zabbix character set utf8mb4 collate utf8mb4_bin;
#:创建数据库中的zabbix用户和登录密码
create user 'zabbix'@'localhost' identified by 'zabbix666?';
#:授权zabbix登录
grant all privileges on zabbix.* to 'zabbix'@'localhost';
#:设置全局变量
set global log_bin_trust_function_creators=1;
#:刷新权限表
flush privileges;
停用log_bin_trust_function_creators;
mysql> SET GLOBAL log_bin_trust_function_creators = 0;
配置zabbix数据库中的表
#:在zabbix源码安装包的database目录中有数据库的表备份,将备份进行恢复写入新库中
#:进入 zabbix-6.4.6/database/mysql目录中执行
mysql -uzabbix -pzabbix666? zabbix < schema.sql
mysql -uzabbix -pzabbix666? zabbix < images.sql
mysql -uzabbix -pzabbix666? -default-character-set=utf8mb4 zabbix < data.sql
设置环境变量
export CFLAGS="-std=gnu99"
编译安装zabbix
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi
-------------省略------------
***********************************************************
* Now run 'make install' *
* *
* Thank you for using Zabbix! *
* <http://www.zabbix.com> *
***********************************************************
#:根据最后提示直接执行make install (不需要执行make)
make install
在server端zabbix配置文件中写入数据库密码
vim /usr/local/etc/zabbix_server.conf
-----省略------
DBPassword=zabbix666?
-------省略-----
重启zabbix
#:重启服务端
zabbix_server
zabbix_agentd
修改/etc/php.ini配置文件,并重启php服务
sed -ri 's/(post_max_size =).*/\1 16M/g' /etc/php.ini
sed -ri 's/(max_execution_time =).*/\1 300/g' /etc/php.ini
sed -ri 's/(max_input_time =).*/\1 300/g' /etc/php.ini
sed -i '/;date.timezone/a date.timezone = Asia/Shanghai' /etc/php.ini
将php默认页进行替换
#:静入zabbix下的ui目录
cd /root/zabbix-6.4.6/ui/
#:将下面所有文件全部复制到php默认页存放位置
cp -r */usr/local/apache/htdocs/www.liu.com
将zabbix.conf.php权限更改为777
cd /usr/local/apache/htdocs/www.liu.com/conf
[root@localhost conf]# ll
total 12
drwxr-xr-x. 2 1000 1000 6 Aug 22 16:11 certs
-rw-r--r--. 1 1000 1000 1036 Aug 22 16:10 maintenance.inc.php
-rwxrwxrwx. 1 root root 1892 Sep 22 20:24 zabbix.conf.php
-rw-r--r--. 1 1000 1000 1871 Aug 22 16:10 zabbix.conf.php.example
查看所有端口是否启动
[root@localhost www.liu.com]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 127.0.0.1:9000 0.0.0.0:*
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 80 *:3306 *:*
LISTEN 0 128 *:80 *:*
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 128 [::]:10050 [::]:*
LISTEN 0 128 [::]:10051 [::]:*
在浏览器中登录主机IP地址
安装完成之后将zabbix.conf.php文件权限改回 644
[root@localhost conf]# ll
total 12
drwxr-xr-x. 2 1000 1000 6 Aug 22 16:11 certs
-rw-r--r--. 1 1000 1000 1036 Aug 22 16:10 maintenance.inc.php
-rwxrwxrwx. 1 root root 1892 Sep 22 20:24 zabbix.conf.php
-rw-r--r--. 1 1000 1000 1871 Aug 22 16:10 zabbix.conf.php.example
[root@localhost conf]# chmod 644 zabbix.conf.php
[root@localhost conf]# ll
total 12
drwxr-xr-x. 2 1000 1000 6 Aug 22 16:11 certs
-rw-r--r--. 1 1000 1000 1036 Aug 22 16:10 maintenance.inc.php
-rw-r--r--. 1 root root 1892 Sep 22 20:24 zabbix.conf.php
-rw-r--r--. 1 1000 1000 1871 Aug 22 16:10 zabbix.conf.php.example
drwxr-xr-x. 2 1000 1000 6 Aug 22 16:11 certs
-rw-r–r–. 1 1000 1000 1036 Aug 22 16:10 maintenance.inc.php
-rw-r–r–. 1 root root 1892 Sep 22 20:24 zabbix.conf.php
-rw-r–r–. 1 1000 1000 1871 Aug 22 16:10 zabbix.conf.php.example