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

监控系统zabbix1.0

监控系统·············zabbix:

监控的作用:

为了保证集群的健康,我们需要监控服务器的状态,就有了监控系统,专门来监控服务器的状态

当服务器状态出现问题,可以用告警的形式来提示运维人员

服务器上部署的关键的业务组件:nginx,MySQL等,如果出现故障,它也可以提示给用户,尽早尽快的处理问题

监控系统只能发现,不能解决问题

zabbix是什么:

zabbix是一个基于web页面的(可视化系统),分布式的系统监控和网络监控的企业级的开源监控方案

zabbix的功能:

1、监控服务器关键硬件的状态

2、可以监控服务器的关键指标(内存,cpu等等)

3、可以监控服务器上关键应用的状态

4,可以监控网络设备(路由器,交换机等等)

5、关于监控容器(zabbix 5开始兼容容器的监控,但是效果不是很好,目前监控容器的主流还是普罗米修斯)

zabbix的组件:

C/S模式:client、server 服务端和客户端,zabbix server和zabbix-agent

c/s模式是一个数据采集的模式,客户端把数据发送给服务端

B/S模式: browser/server 浏览器和服务端 浏览器访问服务端的内容

b/s提供的是数据的展示和相关的监控项的配置

zabbix server 服务端

zabbix-agent 客户端

zabbix proxy 服务端的代理服务器,可以代替服务端收集客户端的数据,然后转发给服务端,降低服务端直接收集客户端数据带来的系统压力

zabbix get:zabbix的命令行工具

test1 192.168.31.10   zabbix server(服务端)

test2 192.168.31.11   zabbix-agent2(客户端) zabbix-proxy

test3 192.168.31.12  zabbix-agent2

qq邮箱的smtp不支持zabbix6

126网易 做smtp服务器


服务端:

wget https://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu22.04_all.deb


dpkg -i zabbix-release_6.4-1+ubuntu22.04_all.deb


apt -get update


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

apt install mariadb-server -y


mysql_secure_installation ············· 直接回车,yes,yes,设置密码,yes,no,yes,yes


create database zabbix character set utf8mb4 collate utf8mb4_bin;


create user zabbix@localhost identified by 'zabbix';


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


flush privileges;


zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -u root -p123456 zabbix


vim /etc/zabbix/zabbix_server.conf


129行dbpassword取消注释并修改为=rabbix


systemctl restart zabbix-server zabbix-agent apache2


乱码问题:
cd /usr/share/zabbix/assets/fonts将文件拖入此路径


cp /usr/share/zabbix/include/defines.inc.php将文件备份


vim /usr/share/zabbix/include/defines.inc.php


89行 改为simkai


147行 改为simkai


回到页面刷新


vim /etc/hosts添加映射


117行改为主服务器的地址


171行同上主服务器的地址


180行的注释行hostname删掉,并修改hostname为test1



zabbix的可用性:

zbx:监控服务器设备的网络,以及服务器健康状态,以及告警············90%

jmx:开发人员监控java应用程序使用的··········老程序员会使用

snmp:监控网络设备············10%

ipmi:通过网络管理服务器的电源,温度,风扇速度等等


客户端:

wget https://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu22.04_all.deb

dpkg .....

apt -y install zabbix-agent2


systemctl status zabbix-agentd


vim /etc/zabbix/zabbix_agent2.conf


80行 地址指向为服务端(主)


133行 地址同上(主)


144行 注释掉的hostname删掉,修改hostname = test2


vim /etc/hosts 做映射


systemctl restart zabbix-agent2


apt -y install zabbix-get


zabbix_get -s '192.168.233.20' -p 10050 -k 'agent.ping'1

zabbix的监控的原理:

模板············ 监控项·············触发器·············实现监控(脚本的实现)

who | wc -l

vim /etc/zabbix_agent2.conf

290行 监控项目的配置文件路径

330行 脚本激活方式

cd /etc/zabbix/zabbix_agent2.d

vim user.conf
↓

UserParameter=login.user,who|wc-l

systemctl restart zabbix_agent2


回到服务端


zabbix_get -s '192.168.31.11' -p 10050 -k 'login.user'

工单系统

发起人 ··········· 》处理人(可能有多个) ·············》发起人(1个)

在这里插入图片描述

cd /opt

下载安装nginx

vim /etc/nginx
↓
gzip on;

server {

location /nginx_status {
    stub_status on;

}

}


nginx -t


重启nginx服务




cd /etc/zabbix/zabbix_agent2.d

vim nginx_test.conf
↓
UserParameter=nginx.status[*], /opt/nginx.sh $1

cd /opt/

vim nginx.sh
#!/bin/bash
#Description:Automated monitoring nginx performance and process nginx_status scripts
 
HOST="localhost"
PORT=80
stub_status="stub_status"
NGINX_COMMAND=$1
 
nginx_check() {
    if [ -f /sbin/pidof ]; then
       /sbin/pidof nginx | wc -w
    else
       ps aux | grep -v "grep" | grep -c "nginx:"
    fi
}
 
nginx_active(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk '/Active/ {print $NF}'
}
 
nginx_reading(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk '/Reading/ {print $2}'
}
 
nginx_writing(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk '/Writing/ {print $4}'
}
 
nginx_waiting(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk '/Waiting/ {print $6}'
}
 
nginx_accepts(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk 'NR==3 {print $1}'
}
 
nginx_handled(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk 'NR==3 {print $2}'
}
 
nginx_requests(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk 'NR==3 {print $3}'
}
 
case $NGINX_COMMAND in
    check)
        nginx_check
        ;;
    active)
        nginx_active
        ;;
    reading)
        nginx_reading
        ;;
    writing)
        nginx_writing
        ;;
    waiting)
        nginx_waiting
        ;;
    accepts)
        nginx_accepts
        ;;
    handled)
        nginx_handled
        ;;
    requests)
        nginx_requests
        ;;
    *)
        echo $"USAGE:$0 {check|active|reading|writing|waiting|accepts|handled|requests}"
esac


chmod 777 nginx.sh


systemctl restart zabbix-agent2.service


在服务端机 zabbix_get -s '192.168.31.11'  -p  10050 -k  'login.user'

作业:监控mysql的状态,如果mysql服务关闭,发送邮件告警


http://www.kler.cn/a/472404.html

相关文章:

  • Cursor无限续杯——解决Too many free trials.
  • 【搜索】【推荐】大 PK
  • 使用高云小蜜蜂GW1N-2实现MIPI到LVDS(DVP)转换案例分享
  • 软件23种设计模式完整版[附Java版示例代码]
  • rabbitmq——岁月云实战笔记
  • 随机置矩阵列为0[矩阵乘法pytorch版]
  • vulnhub靶场【DC系列】之4
  • 游戏引擎学习第75天
  • 代码管理助手-Git
  • docker内外如何实现ROS通信
  • 未来无人机发展趋势!
  • Ubuntu 下测试 NVME SSD 的读写速度
  • 吾杯网络安全技能大赛——Misc方向WP
  • 25上软考中级【软件评测师】易混淆知识点
  • flutter索引知识点
  • 7.什么是java内部类?有什么作用?
  • sqlalchemy查看已经创建的索引
  • ArcGis通过TIFF文件生成渔网
  • whowantstobeking靶机
  • Docker: 现代开发的利器,从入门到实践
  • Java全套面试题整理,含答案(2025最新)
  • Python中的基本交易算法
  • API调用淘宝京东商品详情接口示例参考,json格式数据示例
  • [读书日志]从零开始学习Chisel 第五篇:Scala面向对象编程——类继承(敏捷硬件开发语言Chisel与数字系统设计)
  • js es6 reduce函数, 通过规格生成sku
  • 【C语言】_指针与数组