Zabbix概述

       zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案 ( 基于 GPL V2 )zabbix由 2 部分构成,zabbix server与可选组件zabbix agent

进程构成

zabbix 安装完成后会产生 5 个程序:zabbix_agentd、zabbix_get、zabbix_proxy、zabbix_sender、zabbix_server,zabbix_java_gateway是可选,这个需要另外安装

<1> zabbix_agentd

       客户端守护进程,此进程收集客户端数据,例如 cpu负载、内存、硬盘使用情况等

<2> zabbix_get

       zabbix工具,单独使用的命令,通常用于排错

<3> zabbix_sender

       zabbix工具,用于发送数据给 server 或者 proxy ,在脚本完成之后使用 sender 主动将数据提交

<4> zabbix_server

       zabbix 服务端守护进程,所有的数据都是被提交或主动提交到 zabbix_server 端

<5> zabbix_proxy

       zabbix代理守护进程。功能类似server,唯一不同的是它只是一个中转站,它需要把收集到的数据提交/被提交到server里

<6> zabbix_java_gateway

       zabbix2.0之后引入的一个功能。顾名思义:Java网关,类似agentd,但是只用于Java方面。需要特别注意的是,它只能主动去获取数据,而不能被动获取数据。它的数据最终会给到server或者proxy

硬件需求

Name Platform CPU/Mem Databases Monitored host
Small Ubuntu linux PII 350Mhz 256Mb SQLite 20
Medium Ubuntu linux 64 bit AMD Athlon 3200+ 2GB MySQL InnoDB 500
Large Ubuntu linux 64 bit Intel Dual Core 6400 4GB RAID10 MySQL InnoDB or PostgreSQL >1000
very RedHat Enterprise Intel Xeon 2xCPU 8GB Fast RAID10 MySQL InnoDB or PostgreSQL >10000

Zabbix搭建,使用CentOS 7搭建

一、初始化系统设置
  1. # systemctl stop firewalld
  2. # systemctl disable firewalld
  3. # setenforce 0
  4. # sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
二、安装 LAMP环境
  1. # cd /etc/yum.repos.d/
  2. # wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
  3. # yum clean all && yum makecache //清空缓存并建立元数据
  4. # yum -y install mariadb mariadb-server httpd php php-mysql
  5. # systemctl enable httpd && systemctl restart httpd //添加开机自启并重启服务
  6. # systemctl enable mariadb && systemctl restart mariadb //添加开机自启并重启服务
  7. # mysql_secure_installation //初始化数据库,全部回答“y”
  8. # systemctl is-enabled mariadb //查询是否开机自启
三、安装 Zabbix 程序,以下需联网安装,光盘yum源没有安装包。
  1. # rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
  2. # rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
  3. # yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent
配置初始数据库:
  1. # mysql -u root -p
  2. > CREATE DATABASE zabbix DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
  3. > grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
  4. > exit
  5. 导入数据库
  6. # cd /usr/share/doc/zabbix-server-mysql-3.2.11
  7. # zcat create.sql.gz | mysql -uroot -p zabbix 导入数据库
  8. 启动 Zabbix 服务
  9. # vim /etc/zabbix/zabbix_server.conf
  10. DBHost=localhost
  11. DBName=zabbix
  12. DBUser=zabbix
  13. DBPassword=zabbix
  14. # systemctl enable zabbix-server && systemctl start zabbix-server
  15. 编辑 zabbix 前端 php 配置
  16. # vim /etc/httpd/conf.d/zabbix.conf
  17. php_value max_execution_time 300
  18. php_value memory_limit 128M
  19. php_value post_max_size 16M
  20. php_value upload_max_filesize 2M
  21. php_value max_input_time 300
  22. php_value always_populate_raw_post_data -1
  23. php_value date.timezone Asia/Shanghai
  24. 调整时间同步
  25. # yum -y install ntpdate
  26. # ntpdate cn.pool.ntp.org
  27. # systemctl restart httpd //重启 Apache 服务生效

四、修改中文乱码问题

  1. Win+R > fonts > 拷贝中文字体改名为 msyh.ttf >
  2. 将字体拷贝到该目录下 /usr/share/zabbix/fonts
  3. [root@localhost ~]# vim /usr/share/zabbix/include/defines.inc.php
  4. 修改 zabbix php 页面配置,将'graphfont' 修改为 msyh
  5. define('ZBX_GRAPH_FONT_NAME', 'msyh');

五、添加客户端

linux配置
  1. 导入安装包
  2. (CentOS 7)zabbix-agent-3.2.1-1.el7.x86_64.rpm
  3. (CentOS 6)zabbix-agent-3.2.6-1.el6.x86_64.rpm
  4. # yum –y install zabbix-agent-3.2.1-1.el7.x86_64.rpm
  5. # vim /etc/zabbix/zabbix_agentd.conf
  6. LogFile=/tmp/zabbix_agentd.log
  7. Server=10.10.10.11 //zabbix服务器ip
  8. ServerActive=10.10.10.11 //zabbix服务器ip
  9. Hostname=10.10.10.11 //自己的ip
  10. # systemctl enable zabbix-agent && systemctl restart zabbix-agent //CentOS-7
  11. # chkconfig zabbix-agent on && service zabbix-agent start //CentOS-6.8
Windows端配置
  1. binconf目录放在C:\zabbix
  2. 修改C:\zabbix\conf\zabbix_agentd.conf配置文件下面三项
  3. LogFile=/tmp/zabbix_agentd.log
  4. Server=10.10.10.11 //zabbix服务器ip
  5. ServerActive=10.10.10.11 //zabbix服务器ip
  6. Hostname=10.10.10.111 //自己的ip
  7. c:\zabbix\bin\win64\zabbix_agentd.exe -c c:\zabbix\conf\zabbix_agentd.win.conf -i //将进程添加到服务管理
  8. c:\zabbix\bin\win64\zabbix_agentd.exe -c c:\zabbix\conf\zabbix_agentd.win.conf -s //开启服务

六、浏览器端配置

1、 添加监控主机

配置 | 主机 | 创建主机 | 模板 | 选择模板 | 添加模板 | 添加主机

添加模板时,一般默认必须选择以下2项

Template ICMP Ping

Template OS Linux

2、 配置监控 Nginx 并发量脚本(自定义脚本)

一、编译安装Nginx,开启 Nginx status 状态信息
  1. # ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
  2. # make && make install
  3. 添加监控模块
  4. # vim /usr/local/nginx/conf/nginx.conf
  5. location /xabbix {
  6. stub_status on;
  7. }
二、Zabbix 客户端配置

1、编写客户机端脚本 nginx_stats.sh

  1. [root@localhost ~]# vim /etc/zabbix/zabbix_agentd.d/nginx_stats.sh
  2. #!/bin/bash
  3. # Description:zabbix监控nginx性能以及进程状态
  4. # Note:此脚本需要配置在被监控端,否则ping检测将会得到不符合预期的结果
  5. HOST="127.0.0.1"
  6. PORT="80"
  7. # 检测nginx进程是否存在
  8. function ping {
  9. /sbin/pidof nginx | wc -l
  10. }
  11. # 检测nginx性能
  12. function active {
  13. /usr/bin/curl "http://$HOST:$PORT/xabbix/" 2>/dev/null| grep 'Active' | awk '{print $NF}'
  14. }
  15. function reading {
  16. /usr/bin/curl "http://$HOST:$PORT/xabbix/" 2>/dev/null| grep 'Reading' | awk '{print $2}'
  17. }
  18. function writing {
  19. /usr/bin/curl "http://$HOST:$PORT/xabbix/" 2>/dev/null| grep 'Writing' | awk '{print $4}'
  20. }
  21. function waiting {
  22. /usr/bin/curl "http://$HOST:$PORT/xabbix/" 2>/dev/null| grep 'Waiting' | awk '{print $6}'
  23. }
  24. function accepts {
  25. /usr/bin/curl "http://$HOST:$PORT/xabbix/" 2>/dev/null| awk NR==3 | awk '{print $1}'
  26. }
  27. function handled {
  28. /usr/bin/curl "http://$HOST:$PORT/xabbix/" 2>/dev/null| awk NR==3 | awk '{print $2}'
  29. }
  30. function requests {
  31. /usr/bin/curl "http://$HOST:$PORT/xabbix/" 2>/dev/null| awk NR==3 | awk '{print $3}'
  32. }
  33. # 执行function
  34. $1

2、在客户机将自定义的UserParameter加入配置文件,然后重启agentd

将脚本存在该目录下 : /etc/zabbix/zabbix_agentd.d,修改UserParameter的值

  1. # vim /etc/zabbix/zabbix_agentd.conf
  2. UserParameter=nginx.status[*],/etc/zabbix/zabbix_agentd.d/nginx_stats.sh $1
  3. # killall zabbix_agentd
  4. # /etc/init.d/zabbix-agent restart

3、在服务器使用zabbix_get获取数据

  1. rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-get-3.2.11-1.el7.x86_64.rpm
  2. # zabbix_get -s 10.10.10.11 -k 'nginx.status[accepts]'
  3. # zabbix_get -s 10.10.10.11 -k 'nginx.status[ping]'

4、浏览器配置Nginx 服务器并添加 Nginx 监控模板

浏览器操作

  1. 配置 | 模板 | 导入 | 选择文件 | 导入
  2. 配置 | 主机 | 创建主机 | 模板 | 选择模板 | 添加模板 | 添加主机

    添加模板时,一般默认必须选择以下2项

    Template ICMP Ping

    Template OS Linux

    Template App NGINX 选择刚才导入的模板

    3、 链接钉钉报警

    a、添加钉钉机器人,复制出机器码

    b 、Zabbix 配置文件中查找”Alert”查看告警脚本存放路径:
  1. [root@localhost ~]# vim /etc/zabbix/zabbix_server.conf
  2. AlertScriptsPath=/usr/lib/zabbix/alertscripts

c、进入配置中路径创建配置文件:

  1. [root@localhost ~]# cd /usr/lib/zabbix/alertscripts/
  2. [root@localhost alertscripts]# vim token.sh
  3. #!/bin/bash
  4. to=$1
  5. subject=$2
  6. text=$3
  7. curl '****钉钉机器码填在此处*******' \
  8. -H 'Content-Type: application/json' \
  9. -d '
  10. {"msgtype": "text",
  11. "text": {
  12. "content": "'"$text"'"
  13. },
  14. "at":{
  15. "atMobiles": [ "'"$1"'" ],
  16. "isAtAll": false
  17. }
  18. }'

d、修改权限

  1. [root@localhost alertscripts]# chown zabbix.zabbix token.sh
  2. [root@localhost alertscripts]# chmod +x token.sh

e、配置浏览器端

管理 | 报警媒介类型 | 创建媒介类型····

配置 | 动作 | 事件源[触发器] 创建动作 ·····

管理 | 用户 | admin | 报警媒介 | 添加 | 收件人填电话 | 填加

Zabbix监控搭建的更多相关文章

  1. Zabbix 监控搭建

    Zabbix官网地址:https://www.zabbix.com/download 1.服务端 1.操作前安装好Mysql数据库 配置yum源,安装部署Zabbix rpm -i http://re ...

  2. Zabbix监控基础

    1. 安装前准备 setenforce 0 sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config ...

  3. zabbix监控报错zabbix server is not running: the information displayed may not be current

    zabbix监控搭建完后打开web界面http://xxx/zabbix报错: zabbix server is not running: the information displayed may ...

  4. zabbix监控远端主机

    接着上一篇博客,zabbix监控搭建起来以后,怎么用来监控其他主机呢,这一篇就来简单讲一下,希望对大家有所帮助. 安装一些依赖包 [root@winter ~]# yum install curl c ...

  5. LNMP+zabbix分布式监控搭建及版本升级

    LNMP+zabbix分布式监控搭建需要组件:gcc gcc-c++ openssl* pcre pcre-devel gd gd-devel libjpeg-devel libpng-devel l ...

  6. 总zabbix配置-搭建-邮件报警-微信报警-监控mysql

    Centos7安装Zabbix4.0步骤 官方搭建zabbix4.0的环境要求: 1. 环境搭建LAMP 前提Centos系统安装完成:  确认一下: 1 2 cat /etc/redhat-rele ...

  7. Linux实战教学笔记49:Zabbix监控平台3.2.4(一)搭建部署与概述

    https://www.cnblogs.com/chensiqiqi/p/9162986.html 一,Zabbix架构 zabbix 是一个基于 WEB 界面的提供分布式系统监视以及网络监视功能的企 ...

  8. Zabbix监控平台3.2.4(一)搭建部署与概述

    一,Zabbix架构 zabbix 是一个基于 WEB 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.zabbix 能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制 ...

  9. CentOS7下搭建zabbix监控(四)——Zabbix报警设置

    CentOS7下搭建zabbix监控(一)——Zabbix监控端配置 CentOS7下搭建zabbix监控(二)——Zabbix被监控端配置 CentOS7下搭建zabbix监控(三)——Zabbix ...

随机推荐

  1. Nginx网络架构实战学习笔记(五):大访问量优化整体思路、ab压力测试及nginx性能统计模块、nginx单机1w并发优化

    文章目录 大访问量优化整体思路 ab压力测试及nginx性能统计模块 ab压力测试及nginx性能统计模块 ab压力测试 nginx性能统计模块 nginx单机1w并发优化 整装待发: socket ...

  2. js 中常用的设计模式

    常用的设计模式: 工厂方法模式.单例模式.适配器模式.组合模式.迭代子模式 (23种设计模式) 总体来说设计模式分为三大类: ①创建型模式 共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原 ...

  3. python中输入多个数字(代码实现)

    不多说,直接上代码: list1 = [] #定义一个空列表 str1 = input("请输入数值,用空格隔开:") # list2 = str1.split(" &q ...

  4. Apache 2.4.12 64位+Tomcat-8.0.32-windows-x64负载集群方案

    上次搞了Apache 2.2的集群方案,但是现在自己的机器和客户的服务器一般都是64位的,而且tomcat已经到8了.重新做Apache 2.4.12 64位+Tomcat-8.0.32-window ...

  5. 转 MySQL乐观锁和悲观锁

    悲观锁(Pessimistic Lock) 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁.传统的关系型数据库 ...

  6. 二、检索语句 SELECT、ORDER BY、WHERE

    介绍如何使用SELECT语句从表中检索一个或多个数据列   第二章: SELECT语句 SQL语句可以在一行给出,也可以分成许多行,分成多行更容易调试. 多条SQL语句必须以分号 分隔.多数DBMS不 ...

  7. 都 9102 年了,一起来攻克 Linux 吧!

    都 9102 年了,一起来攻克 Linux 吧! 对 Java 程序员来说,天天会和 Linux 打交道,如果你无法熟练地操作 Linux ,基本上等于少了一半的功力,也少了一半的机会-- 身边的开发 ...

  8. 28-python基础-python3-列表多重赋值

    1-列表多重赋值常规方法 >>> cat = ['fat', 'black', 'loud'] >>> size = cat[0] >>> col ...

  9. 2018-10-19-C#-GUID-ToString-

    title author date CreateTime categories C# GUID ToString lindexi 2018-10-19 9:4:44 +0800 2018-4-1 10 ...

  10. 安装python及编辑工具PyCharm

    win10下安装python环境,安装编辑工具PyCharm 1.安装 pythonpython安装包下载地址https://www.python.org/ftp/python/3.8.0/pytho ...