• Zabbix搭建使用一篇通


    搭建

    环境:centos7,zabbix5.0LTS版本

    看以下官方文档:

    Download and install Zabbix 5.0 LTS for CentOS 7, MySQL, Apache

    1. 安装zabbix服务器的源

    源:repository,软件仓库,用来找到zabbix官方网站提供的软件,可以下载软件的地方

    Centos-Base.repo 仓库文件:用来找到centos官方提供的下载软件的地方的文件

    Base :存放centos官方基本软件的仓库

    zabbix.repo :帮助我们找到zabbix官方提供的软件下载地方的文件

    1. rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
    2. yum install zabbix-server-mysql zabbix-agent
    3. #zabbix-server-mysql 安装zabbix server和连接mysql功能的软件
    4. #zabbix-agent zabbix的代理软件
    5. yum install centos-release-scl
    6. #Edit file /etc/yum.repos.d/zabbix.repo and enable zabbix-frontend repository.
    7. [zabbix-frontend]
    8. ...
    9. enabled=1
    10. ...
    11. #Install Zabbix frontend packages.安装web相关的软件
    12. yum install zabbix-web-mysql-scl zabbix-apache-conf-scl
    13. #安装数据库
    14. yum install mariadb mariadb-server -y
    15. mysql -uroot -p
    16. mysql> create database zabbix character set utf8 collate utf8_bin;
    17. mysql> create user zabbix@localhost identified by 'password';
    18. mysql> grant all privileges on zabbix.* to zabbix@localhost;
    19. mysql> quit;

    默认登陆的账号密码

    账号:Admin

    密码:zabbix

    被动和主动检查

    zabbix agent可以被动检查和主动检查

    • 被动检查模式:agent应答数据请求,zabbix server(或proxy)询求数据,例如CPU load,然后zabbix agent返回结果

      • zabbix pull 拉 active checks(比较多)

        • 好处:避免同时涌入大量的数据,出现大量不可预知的并发,会导致服务器负载过高,从而丢失数据

    • 主动检查模式:处理过程将相对复杂,Agent必须先从zabbix server索取监控项列表以进行独立处理,然后会定期发送采集到的新值给zabbix server

      • zabbix agent push 推 Passive checks

        • 可以获得最新的数据

            是否执行被动或主动检查是通过选择相应的监控项类型来配置的,zabbix agent处理“zabbix agent”或“zabbix agent(active)”类型的监控项

    安装zabbix-get

    zabbix server 可以去agent获取数据 --》pull

    1. #-p 代表目标端口 -k:key
    2. [root@zabbix zabbix]# zabbix_get -s 192.168.174.142 -p 10050 -k "system.cpu.load[all,avg1]"

    zabbix-server的主配置文件

    /etc/zabbox/zabbix_server.conf

    添加被监控主机的步骤

    主机:被zabbix-server监控的主机

    模板:template 里面已经集合了很多的好用的应用集,专门针对web的模板,MySQL的模板

    应用集:各种各样的应用的集合,zabbix对应用进行分类

    监控项:被监控的某个项目,例如cpu的使用率

    1. 点配置 (configuration)--》主机(hosts)--》创建主机(create host )

    进程与进程的通信方式

    1. socket 槽

      1. 类型:

        1. 文件socket

          1. 实现同一台机器上的不同进程之间通信的

          2. mysql -uroot -Psc123456

          3. mysqld进程启动后指定的socket文件的路径

          4. --socket=/data/mysql/mysql.sock

        2. 网络socket

          1. 实现不同的机器上的不同的进程之间通信的

          2. 表现形式:ip地址+端口号

          3. mysql -usc -p123456 -h 目标主机ip -p3306

    2. 共享内存

    3. 管道

    4. 信号

    5. 信号量

    6. 队列

    解决zabbix-server访问不了数据库的问题

    1. 查看mysql的socket文件在哪

      1. 方法1:查看/etc/my.cnf

      2. socket=/data/mysql/mysql.sock

      3. 方法2:查看进程

    2. 修改zabbix_server.comf里的配置DBSocket

    3. 修改/data/mysql目录的权限,允许zabbix用户启动zabbix-server进程可以进入读取mysql.sock文件

    zabbix-agent的安装

    1. #安装源
    2. rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
    3. #安装zabbix-agent端
    4. yum install zabbix-agent
    5. #开启服务
    6. service zabbix-agent start
    7. #主动检测和被动检测都要改,不然server无法过来拿数据,127.0.0.1代表本机
    8. ServerActive=127.0.0.1,192.168.174.134

    自定义监控项配置

    写一个监控sshd是否打开的监控项

    monitor_sshd.sh

    1. #!/bin/bash
    2. #统计ssh进程的数量
    3. num=$(ps aux|grep sshd|wc -l)
    4. echo $num

    userparameter_ssh.conf

    1. #key:键,value:路径到脚本
    2. UserParameter=sc.ssh.status,/etc/zabbix/zabbix_agent.d/monitor_sshd.sh
    3. 弄好之后,就可以在web页面添加sc.ssh,status作为键来监控sshd是否开启(判断依据时sshd的进程>1)

    /etc/fstab 告诉linux系统正常启动过程挂在那个磁盘分区

    自定义监控项可加参数

    nginx_data.sh

    1. #!/bin/bash
    2. hostip=192.168.174.143
    3. port=80
    4. case $1 in
    5. active)
    6. curl $hostip:$port/status 2>/dev/null|awk '/Active/{print $NF}'
    7. ;;
    8. Reading)
    9. curl $hostip:$port/status 2>/dev/null|awk 'NR==4{print $2}'
    10. ;;
    11. accepts)
    12. curl $hostip:$port/status 2>/dev/null|awk 'NR==3{print $1}'
    13. ;;
    14. handle)
    15. curl $hostip:$port/status 2>/dev/null|awk 'NR==3{print $2}'
    16. ;;
    17. requests)
    18. curl $hostip:$port/status 2>/dev/null|awk 'NR==3{print $3}'
    19. ;;
    20. ping)
    21. pidof nginx|wc -l
    22. ;;
    23. esac

     userparameter_ssh.conf

    UserParameter=sc.nginx.status[*],/etc/zabbix/zabbix_agentd.d/nginx_data.sh $1

  • 相关阅读:
    制造企业如何满足客户需求?精益生产教您三招
    Vue2之防抖_debounce封装函数&v-debounce自定义指令(传参/不传)
    python 装饰器
    辰视冯良炳博士将于ITES机器视觉与机器人创新应用大讲台开讲
    软件设计模式系列之十六——命令模式
    MyApps低代码平台打造新时代营销一体化策略的CRM系统
    5G工业数采网关的功能有哪些?-天拓四方
    算法每日一题(python,2024.05.27) day.9
    线程交互现象
    pytorch使用cuda时遇到了如下问题
  • 原文地址:https://blog.csdn.net/a1991376352/article/details/126003452