当前位置: 首页 > news >正文

day52-Zabbix(第一部分)

1.每日复盘与今日内容

1.1复盘

  • Jumpserver部署🍟🍟🍟🍟🍟
  • 用户管理、资产授权、sudo提权
  • 命令限制、MFA、网域

1.2今日内容

  • 介绍、安装、部署zabbix
  • LNMP架构、zabbix服务端、zabbix客户端的安装🍟🍟🍟🍟🍟
  • 编译zabbix服务
  • 配置zabbix服务端和客户端
  • 监控客户端
  • zabbix自定义监控🍟🍟🍟🍟🍟
  • 设置触发器🍟🍟🍟🍟🍟

2.介绍

1..什么是监控

对我们的操作系统进行不间断的监控

2.为什么要监控

软件生命周期中非常重要的一个环节

能够做到事前告警,事后我们还可以根据监控内容排查问题

例:销售人员需求--->开发写代码-->测试代码-->运维-->部署操作系统-->安装服务优化服务运行服务-->日志处理日志分析--->交付(用户 自己的团队 测试) -- >如果监控不到位导致恶性循环-->最终导致项目流产-->公司倒闭 资金链断裂

开发经理(懂技术、懂管理、懂产品、懂客户) 开发压力大 写出好的产品? 代码债务。

运维经理(懂客户 懂产品 懂管理) 员工-->监控 运维债务

开公司: 销售+技术总监(架构师) 10个项目

金丝雀 监控指标

在有问题的时候 运维(管理) 运维债务

3.如何去监控监控什么内容:

监控硬件:磁盘 df -h 内存 free 磁盘IO 负载 CPU 网络

软件服务:端口 进程 状态

业务层面:业务数据进行数据 自定义监控 订单量 注册用户 充值用户 日志中 数据库中体现

业务之间:接口调用监控 curl

4.监控有哪些工具

• zabbix 硬件 服务状态 自定义监控 (万物皆可监控)

• Nagions 网络产品 交换机 路由器

• Cacti 流量

• OPen-Falcon 小米公司 互联网自研监控产品

• prometheus kubernetes docker

• 监控宝等

3.平台架构

基于LNMP平台 Linux Nginx MySQL PHP
zabbix端口
zabbix服务端: 10.0.0.91 端口10051
zabbix_proxy: 10.0.0.7 端口10051
java_gateway: 10.0.0.7 端口10052
zabbix_agent: 10.0.0.7 10.0.0.8 端口10050

4.zabbix安装部署

1.安装部署mysql

通过网盘分享的文件:mysql-8.0.36-1.el8.x86_64.rpm-bundle.tar

链接: https://pan.baidu.com/s/1mkORd1EZLPo6vlJYxqp6eA?pwd=1234 提取码: 1234

--来自百度网盘超级会员v5的分享

通过网盘分享的文件:zabbix-5.0.43.tar.gz

链接: https://pan.baidu.com/s/1j3kQdabSS1WEsVZDbtPzTw?pwd=1234 提取码: 1234

--来自百度网盘超级会员v5的分享

#1.下载并解压mysql 8.0版本
#将上面下载的文件拖入Linux中,解压
root@zabbix ~# tar xf mysql-8.0.36-1.el8.x86_64.rpm-bundle.tar#2.rpm安装
root@zabbix ~# vim 1.txt
rpm -ivh mysql-community-common-8.0.36-1.el8.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.36-1.el8.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.36-1.el8.x86_64.rpm
rpm -ivh mysql-community-client-8.0.36-1.el8.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.36-1.el8.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.36-1.el8.x86_64.rpm
rpm -ivh mysql-community-server-8.0.36-1.el8.x86_64.rpm#3.启动数据库
root@zabbix ~# systemctl start mysqld#4.查看数据库默认密码
root@zabbix ~# cat /var/log/mysqld.log|grep root@local
2025-09-22T09:41:54.252667Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: f5,c4EfgpPde#5.进入数据库并修改密码
root@zabbix ~# mysql -uroot -p'f5,c4EfgpPde'mysql> alter user root@localhost identified by 'Oldboy123.com';#6.创建zabbix库
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user 'zabbix'@'localhost' identified by 'Oldboy123.com';
mysql> ALTER USER 'zabbix'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Oldboy123.com';
mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost';#7.删除mysql安装包
root@zabbix ~# rm -fr *#8.下载并解压zabbix源码包
#将下载包拖入
root@zabbix ~# tar xf zabbix-5.0.43.tar.gz#9.将zabbix自带的数据库中的内容导入到自己的数据库中
#需要将schema.sql images.sql data.sql导入zabbix库
#进入目录
root@zabbix ~/zabbix-5.0.43/database/mysql# ll
total 17008
-rw-r--r-- 1 1000 1000 15252182 Aug 13  2024 data.sql
-rw-r--r-- 1 1000 1000      282 Aug 13  2024 double.sql
-rw-r--r-- 1 1000 1000  1978341 Aug 13  2024 images.sql
-rw-r--r-- 1 1000 1000      482 Aug 13  2024 Makefile.am
-rw-r--r-- 1 1000 1000    15936 Aug 13  2024 Makefile.in
-rw-r--r-- 1 1000 1000   156294 Aug 13  2024 schema.sql
#开导
root@zabbix ~/zabbix-5.0.43/database/mysql# mysql -uzabbix -p'Oldboy123.com' zabbix < schema.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
root@zabbix ~/zabbix-5.0.43/database/mysql# mysql -uzabbix -p'Oldboy123.com' zabbix < images.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
root@zabbix ~/zabbix-5.0.43/database/mysql# mysql -uzabbix -p'Oldboy123.com' zabbix < data.sql
mysql: [Warning] Using a password on the command line interface can be insecure.

2.安装部署php服务

#1.安装php服务
yum -y install php php-bcmath php-cli php-common php-devel php-embedded php-fpm php-gd php-intl php-mbstring php-mysqlnd php-opcache php-pdo php-process php-xml php-json php-ldap#2.修改监听方式
root@zabbix ~/zabbix-5.0.43/database/mysql# grep -n 9000 /etc/php-fpm.d/www.conf
38:listen = 127.0.0.1:9000#3.开启并加入开机自启动
root@zabbix ~/zabbix-5.0.43/database/mysql# systemctl start php-fpm
root@zabbix ~/zabbix-5.0.43/database/mysql# systemctl enable php-fpm#4.查看端口
root@zabbix ~/zabbix-5.0.43/database/mysql# netstat -lntup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      56969/php-fpm: mast 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1085/sshd: /usr/sbi 
tcp6       0      0 :::33060                :::*                    LISTEN      55775/mysqld        
tcp6       0      0 :::3306                 :::*                    LISTEN      55775/mysqld        
tcp6       0      0 :::22                   :::*                    LISTEN      1085/sshd: /usr/sbi 

3.安装部署Nginx服务

#1.配置nginx仓库
root@zabbix ~/zabbix-5.0.43/database/mysql# vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true#2.安装nginx服务
root@zabbix ~/zabbix-5.0.43/database/mysql# yum -y install nginx#3.配置nginx服务
root@zabbix /etc/nginx/conf.d# vim default.conf
server {
listen 80;
server_name own.zabbix.com;
root /code/ui;
index index.php index.html;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
include fastcgi_params;
}
}#4.将代码文件拷贝到/code/ui目录
root@zabbix ~/zabbix-5.0.43# cp -r ui/ /code/#5.统一用户
root@zabbix /etc/nginx/conf.d# grep apache /etc/nginx/nginx.conf
user  apache;#6.授权文件属主属组
root@zabbix /etc/nginx/conf.d# chown -R apache.apache /code#7.启动nginx
root@zabbix /etc/nginx/conf.d# systemctl start nginx

4.编译zabbix服务

#1.安装依赖
root@zabbix ~/zabbix-5.0.43# yum -y install libxml2 libxml2-devel net-snmp-devel curl-devel libevent-devel#2.配置
root@zabbix ~/zabbix-5.0.43# ./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2#3.编译
root@zabbix ~/zabbix-5.0.43# make#4.安装
root@zabbix ~/zabbix-5.0.43# make install#5.验证是否安装成功
root@zabbix ~/zabbix-5.0.43# zabbix_
zabbix_agentd  zabbix_get     zabbix_js      zabbix_sender  zabbix_server#6.配置连接数据库信息
root@zabbix ~/zabbix-5.0.43# grep -n ^DB /usr/local/etc/zabbix_server.conf
85:DBHost=localhost
94:DBName=zabbix
110:DBUser=zabbix
118:DBPassword=Oldboy123.com#7.创建启动用户zabbix
root@zabbix ~/zabbix-5.0.43# useradd zabbix#8.启动
root@zabbix ~/zabbix-5.0.43# zabbix_server#9.查看
root@zabbix ~/zabbix-5.0.43# netstat -lntup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      68911/zabbix_server 
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      56969/php-fpm: mast 
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      57395/nginx: master 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1085/sshd: /usr/sbi 
tcp6       0      0 :::10051                :::*                    LISTEN      68911/zabbix_server 
tcp6       0      0 :::33060                :::*                    LISTEN      55775/mysqld        
tcp6       0      0 :::3306                 :::*                    LISTEN      55775/mysqld        
tcp6       0      0 :::22                   :::*                    LISTEN      1085/sshd: /usr/sbi

5.配置zabbix服务端

现在就可以进入界面了,网页输入10.0.0.91

但是有很多配置问题,接下来一一更改

  • 修改php配置
root@zabbix ~/zabbix-5.0.43# egrep -n "post_max_size|max_execution_time|max_input_time|timezone" /etc/php.ini |grep -v ';'
383:max_execution_time = 300
393:max_input_time = 300
672:post_max_size = 16M
902:date.timezone = Asia/ShangHai#检测php
root@zabbix ~/zabbix-5.0.43# php-fpm -t#重启php
root@zabbix ~/zabbix-5.0.43# systemctl restart php-fpm

下一步,密码使用刚才设置的数据库密码即可

下一步,默认配置

默认账户

用户名:Admin

密码:zabbix

  • 设置为中文

  • 设置字体
#1.在自己的windows电脑找一个字体
#进入C:\Windows\Fonts随便复制一个字体将其拖入到/code/ui/assets/fonts
root@zabbix /code/ui/assets/fonts# ll
total 18388
-rw-r--r-- 1 apache apache   756072 Sep 22 18:54 DejaVuSans.ttf.bak
-rw-r--r-- 1 root   root   18070492 Mar 11  2025 SIMSUN.TTC#2.将之前的字体备份成以.bak结尾的文件#3.将这个文件改为之前的名字
root@zabbix /code/ui/assets/fonts# ll
total 18388
-rw-r--r-- 1 root   root   18070492 Mar 11  2025 DejaVuSans.ttf
-rw-r--r-- 1 apache apache   756072 Sep 22 18:54 DejaVuSans.ttf.bak#4.刷新网页即可

6.配置zabbix客户端(本机)

#启动客户端
root@zabbix ~# zabbix_agentd

5.监控客户端(10.0.0.7)

#1.准备客户端10.0.0.7
#2.安装zabbix-agent客户端 Kylin系统直接安装(其他操作 部署YUM仓库)
root@WEB01 ~# yum -y install zabbix-agent#或是通过阿里云下载
https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-agent-5.0.43-1.el7.x86_64.rpm#3.配置zabbix客户端配置文件指向服务端10.0.0.91
root@WEB01 ~# grep -n ^Server /etc/zabbix_agentd.conf
115:Server=172.16.1.91#4.启动zabbix客户端
root@WEB01 ~# systemctl start zabbix-agent.service#5.配置页添加主机

将基本信息填入即可

使用创建好的模板

变绿说明成功

  • 日志位置
服务端日志: /tmp/zabbix_server.log
客户端yum安装:
/var/log/zabbix/zabbix_agentd.log

6.zabbix自定义监控

面试题:监控登陆的用户数量

#1.取值
root@WEB01 ~# uptime | awk '{print $(NF-6)}'#2.配置到客户端的配置文件中 zabbix-agent.conf
root@WEB01 ~# grep user_login /etc/zabbix_agentd.conf
UserParameter=user_login,uptime|awk '{print $(NF-6)}'#3.能否生效
root@WEB01 ~# zabbix_agentd -p
root@WEB01 ~# systemctl restart zabbix-agent#4.在zabbix服务端取值测试
root@zabbix ~# zabbix_get -s 172.16.1.7 -k user_login#4.将自定义的key添加到zabbix页面进行监控

点击监控项

创建监控项

将刚才配置文件的key填入,更新间隔可以设置(这里设置短点方便演示)

查看数据

双击Xshell窗口,多创建几个出来

刷新,发现数值变动

  • 自定义监控端口
#1.配置
root@WEB01 ~# grep nginx_port /etc/zabbix_agentd.conf
UserParameter=nginx_port,netstat -lntup | grep 80 | grep -w tcp | wc -l#2.检查(为1则生效)
root@WEB01 ~# zabbix_agentd -p#3.重启客户端
root@WEB01 ~# systemctl restart zabbix-agent#4.在zabbix服务端取值测试
root@zabbix ~# zabbix_get -s 172.16.1.7 -k nginx_port
(Not all processes could be identified, non-owned process infowill not be shown, you would have to be root to see it all.)
1#5.将自定义的key添加到zabbix页面进行监控

发现获取到的值是字符串,只为数字

原因是netstat命令没有权限

#6.授予netstat权限
root@WEB01 ~# chmod u+s /usr/bin/netstat#7.再此获取
root@zabbix ~# zabbix_get -s 172.16.1.7 -k nginx_port
1#8.重新添加
  • 使用系统自带的监控

已启用

7.自定义映射值

我们发现上述很多变量都堆在一个地方,非常杂乱,故使用include

#1.修改配置文件
root@WEB01 ~# cat /etc/zabbix_agentd.conf|grep -i include 
### Option: Include
#	You may include individual files or all files in a directory in the configuration file.
#	Installing Zabbix will create include directory in /etc, unless modified during the compile time.
# Include=
# Include=/etc/zabbix_agentd.userparams.conf
# Include=/etc/zabbix_agentd.conf.d/
Include=/etc/zabbix_agentd.conf.d/*.conf
#	It is allowed to include multiple LoadModule parameters.#2.将之前设置的keys放到Include目录下
root@WEB01 /etc/zabbix_agentd.conf.d# vim os.conf
UserParameter=user_login,uptime|awk '{print $(NF-6)}'
UserParameter=nginx_port,netstat -lntup | grep 80 | grep -w tcp | wc -l

8.设置触发器

点击触发器

点击创建

设置当用户数为4时,报警

点击Xshell,模拟多个用户

zabbix报警

配置报警声

关闭用户,则解决问题

9.今日总结

  • 介绍、安装、部署zabbix
  • LNMP架构、zabbix服务端、zabbix客户端的安装🍟🍟🍟🍟🍟
  • 编译zabbix服务
  • 配置zabbix服务端和客户端
  • 监控客户端
  • zabbix自定义监控🍟🍟🍟🍟🍟
  • 设置触发器🍟🍟🍟🍟🍟

http://www.dtcms.com/a/442180.html

相关文章:

  • 依托Java和百度地图实现长沙市热门道路与景点实时路况检索的实践探索
  • 7-1-查询练习
  • Numpy 手搓线性回归
  • 昆明网站服务器湖北seo推广
  • 医院网站建设怎么样盐城网站建设效果
  • dockerfile理解
  • SpringBoot集成Druid连接池_配置优化与监控实践指南
  • 12380网站建设打算公众号小程序开发公司
  • 高并发场景下的前后端数据同步策略:长轮询、SSE与WebSocket对比分析
  • 网站推广对接北京手机网站搭建费用
  • Raydium
  • 动态Vault
  • 量化交易策略中ATR与波动率的配合
  • 便宜的网站设计企业永久免费自动建站系统
  • 深入解析JS事件循环机制 (Event Loop)
  • 亭湖区建设局网站小红书推广计划
  • 吃透大数据算法-时间轮(TimingWheel)
  • 从输入URL到展示出页面的这个过程~
  • WebDAV 与 SMB 在钓鱼攻击中的区别
  • 8. Pandas 日期与时间序列数据处理
  • 免费网站模板做零食的网站有哪些
  • 从零开始的C++学习生活 2:类和对象(上)
  • 家纺营销型网站网站建设服务费怎么记账
  • css其他选择器(精细修饰)
  • 一般设计网站页面用什么软件做引擎网站
  • 生成式 AI 重构内容创作:从辅助工具到智能工厂
  • 华为S5720配置telnet远程
  • 面试复盘:哔哩哔哩、蔚来、字节跳动、小红书面试与总结
  • Your ViT is Secretly an Image Segmentation Model
  • 海口网站建设运营网站开发公司选择