Zabbix部署

  • 一、各类监控工具优势对比

  1. zabbix:适合监控IT基础设施、可分布式
  2. promethues:云原生、多用于监控容器
  3. 其它:适用于同厂商产品的监控
  • 二、系统及依赖组件

  1. 系统:ubuntu22.04
  2. 中间件:nginx、php、mysql、zabbix、zabbix-agent
  3. 机器:zabbix10、zabbix-agent11(其中zabbix-agent只需安装zabbix-agent)
  • 三、部署(在zabbix10上)

安装依赖

1、LNMP组件

apt install -y nginx php php-fpm mysql-server php-mysqlnd

//如果安装失败,且网通,那就更新下仓库apt update

2、zabbix安装

--可参考官网:下载Zabbix 7.4 for Ubuntu 22.04 Jammy<br/>(amd64, arm64), MySQL, Nginx

wget https://repo.zabbix.com/zabbix/7.4/release/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.4+ubuntu22.04_all.deb
dpkg -i zabbix-release_latest_7.4+ubuntu22.04_all.deb
apt update

apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent -y

配置数据库

1、登录mysql

mysql -uroot -p

password      //这一步里,如果未设置密码,直接mysql即可进入

2、配置zabbix

create database zabbix character set utf8mb4 collate utf8mb4_bin;

create user zabbix@localhost identified by 'password';      -- password换成自己想设置的密码

grant all privileges on zabbix.* to zabbix@localhost;

set global log_bin_trust_function_creators = 1;

quit;

3、导入zabbix初始架构和设置

zcat /usr/share/zabbix/sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p Zabbix

4、为zabbix server配置数据库、php及前端

- vim /etc/zabbix/zabbix_server.conf

进入后,找到124行,并写入你设置的mysql服务zabbix用户的密码

124 DBPassword=password

- vim /etc/nginx/conf.d/zabbix.conf

  2         listen          8080;

  3         server_name     example.com;

5、安装中文字符集

apt install language-pack-zh-hans language-pack-zh-hans-base -y

locale-gen zh_CN.UTF-8

update-locale

6、重启中间件并设置开机自启

[root@zabbix10 conf.d]# systemctl restart zabbix-server zabbix-agent nginx php8.1-fpm

[root@zabbix10 conf.d]# systemctl enable zabbix-server zabbix-agent nginx php8.1-fpm

7、访问

之后填入数据库密码、zabbix服务名称并选择locale为中文、时区为Shanghai即可

#如果想进入后修改语言,可看下图

四、监控服务器

1、在zabbix-agent11服务器上安装zabbix-agent

[root@zabbixagent11 ~]# apt install zabbix-agent

2、修改配置

[root@zabbixagent11 ~]# vim /etc/zabbix/zabbix_agentd.conf

117 Server=10.0.0.10

169 Hostname=10.0.0.11

3、重启服务

systemctl restart zabbix-agent.service && systemctl enable zabbix-agent

4、在图形化界面中加入该主机,之后便可在监测里看到该主机了

模板:设置的检测项,可自定义

主机群组:随意放即可,也可自定义

  • 五、设置邮件告警

获取并配置必需中间件

1、安装s-nail

apt -y Install s-nail

2、添加配置

cat <<EOF > ~/.mailrc

# 开启 v15 兼容模式

set v15-compat

# 设置发件人名称及邮箱地址

set from="l884560628@163.com"

# 设置 MTA (SMTP服务器),注意密码使用的是邮箱授权码而非登录密码

# 如果用户名包含@符号,需转义为 %40;这里以端口465(SSL)为例

set mta=smtps://l884560628%40163.com:授权码@smtp.163.com:465

# 指定认证方式为 login

set smtp-auth=login

EOF

3、测试

echo “内容” | s-nail -s “主题” 收件人

获取SMTP授权码(密码)、SMTP服务器地址

1、设置—>SMTP

2、开启SMTP,将密码保存下来,复制到一个地方,或者页面别关;

配置告警

1、配置模板的宏(即告警阈值)

数据采集--模板--linux zabbix agent

宏--修改cpu行的值列,由于是测试,这里值改小一些;之后点击更新

2、配置模板的触发器(即达到阈值后,zabbix会做什么操作)

点击触发器

点击high cpu,修改表达式中的异常检测时间,这样可以更快触发,之后更新

3、去监听的机器中的一台中进行压测

tar -cJvf test.tar.gz /*

4、稍作等待,前往仪表盘看是否有告警

配置触发告警发送邮件

1、配置告警媒介

2、配置动作--触发器动作

这里添加的是针对于哪些指标的、比如主机那些

3、配置动作,这里配置的是触发告警后,要做什么动作

4、配置用户(这里配置的是使用哪个用户发送告警)

六、相关

/etc/zabbix/下的php-fpm.conf中有个配置:

listen.owner = nginx

他的作用是让php和nginx建联,

需要nginx的启动用户与其相同,不然会出现502报错

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐