一、简介

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
        zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
    
    zabbix由2部分构成,zabbix server与可选组件zabbix agent。
    
    zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。

zabbix软件:
    服务器端:zabbix server
    代理服务器:zabbix proxy
    客户端(被监控主机):zabbix agent
    
Zabbix的主要特点:
        安装与配置简单,学习成本低
        支持多语言(包括中文)
        免费开源
        自动发现服务器与网络设备
        分布式监视以及WEB集中管理功能
        可以无agent监视
        用户安全认证和柔软的授权方式
        通过WEB界面设置或查看监视结果
        email等通知功能

Zabbix主要功能
        CPU负荷
        内存使用
        磁盘使用
        网络状况
        端口监视
        日志监视

二、工作原理

监控流程

1. zabbix server:负责接收agent发送的报告信息的核心组件,所有配置、统计数据及操作数据都由它组织进行

2. database storage:专用于存储所有配置信息,以及由zabbix收集的数据;

3. web interface:zabbix的GUI接口

4. proxy:可选组件,常用于监控节点很多的分布式环境中,代理server收集部分数据转发到server,可以减轻server的压力

5. agent:部署在被监控的主机上,负责收集主机本地数据如cpu、内存、数据库等数据发往server端或proxy端

三、3.0版本实验流程

实验环境

一、安装条件
    Zabbix 3.0以上的版本最好在CentOS 7.0上安装部署,所以先在虚拟机中安装好CentOS 7.0 x86_64,并设置好IP,允许虚拟机联网。
    
二、关闭防护:
    1.关闭防火墙
        [root@localhost ~]# systemctl stop firewalld.service
        [root@localhost ~]# systemctl disable firewalld.service
    2.关闭SELinux
        # sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
        # grep SELINUX /etc/selinux/config
        # reboot

三、配置网络源
    1.可使用官方网络源及拓展源
        # yum -y install epel-release
        # yum clean all
        # yum makecache
    
    2.也可使用163或者阿里的网络源及拓展源
        # wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
        # wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
        # yum clean all
        # yum makecache
        或
        # wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
        # yum clean all
        # yum makecache
        
四、环境
服务器:    C7        IP:192.168.190.157
代理服务器: C7           IP:192.168.190.158
客户端1:    C7        IP:192.168.190.159
客户端2:    C7        IP:192.168.190.160
客户端3:    C7        IP:192.168.190.161

服务器端安装zabbix server

1.安装依赖

# yum -y install net-snmp-devel OpenIPMI-devel httpd openssl-devel java lrzsz fping-devel libcurl-devel perl-DBI pcre-devel libxml2 libxml2-devel mysql-devel gcc php php-bcmath php-gd php-xml php-mbstring php-ldap php-mysql.x86_64 php-pear php-xmlrpc  net-tools

2.安装Mariadb

# yum install -y mariadb mariadb-server        #安装
# systemctl start mariadb                    #启动mariadb
# systemctl enable mariadb                    #设置开机自启动

# mysql_secure_installation                    #安全初始化,设置root密码等
    也可使用
    mysqladmin -uroot password 123456

注意:
    mysql_secure_installation
    Enter current passwdord for root        #回车,设置mysql密码
    Remove anonymous users?                 #删除匿名用户?
    Disallow root login remotely?             #禁止root远程登陆
    Remove test database and access to it?     #删除测试数据库并且和访问它
    Reload privilege tables now?             #重新载入特权表

3.安装 zabbix

安装 server和web端,基于mysql数据库
# rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

# yum -y install zabbix-server-mysql zabbix-web-mysql

4.Mariadb初始化完毕后,开始创建zabbix数据库及其用户

# mysql -uroot
# MariaDB [(none)]> create database zabbix default character set utf8 collate utf8_bin;
# MariaDB [(none)]> grant all on zabbix.* to "zabbix"@"localhost" identified by "123456";
# MariaDB [(none)]> grant all on zabbix.* to "zabbix"@"%" identified by "123456";

导入zabbix数据库结构
方法一:
    # cd /usr/share/doc/zabbix-server-mysql-3.0.32
    # zcat create.sql.gz | mysql -uroot zabbix
方法二:
    # cd /usr/share/doc/zabbix-server-mysql-3.0.32
    # gunzip create.sql.gz
    # mysql -uroot zabbix -p123456 < create.sql

5.修改Zabbix Server配置,并启动服务

# vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123456

# systemctl start zabbix-server
# systemctl enable zabbix-server

6.编辑PHP配置,修改时区

# vim /etc/httpd/conf.d/zabbix.conf
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone Asia/Shanghai

# vim /etc/php.ini
;date.timezone =  -->  date.timezone = 'Asia/Shanghai'

7.修改字体并启动apache

修改字体
    可以从windows字体库中选择自己想要的字体文件(后缀名改为.ttf。例如msyh.ttf)到/usr/share/zabbix/fonts/目录下。
    然后修改配置文件,使其识别自定义字体
# cd /usr/share/zabbix/fonts/
# vim /usr/share/zabbix/include/defines.inc.php
/graphfont
将其改为自定义字体名称,如msyh

启动apache
# systemctl start httpd
# systemctl enable httpd

8.登录zabbix管理网页,显示安装向导

服务器端及客户端安装zabbix agent

1.安装zabbix agent实现监控

1.安装zabbix agent
# rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
# yum -y install zabbix-agent
​
2.修改配置文件
服务器端:
# vim /etc/zabbix/zabbix_agentd.conf
Server=127.0.0.1                    #服务器IP
ServerActive=127.0.0.1              #服务器IP
Hostname=Zabbix server              #监控的主机名(可自定义)
客户端:
# vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.190.157              #服务器IP
ServerActive=192.168.190.157        #服务器IP
Hostname=zabbix agent159            #主机名(可自定义)
​
3.启动zabbix agent
# systemctl enable zabbix-agent
# systemctl start zabbix-agent

2.去管理页面开启监测

  • 192.168.190.157 -> 配置 -> 主机 -> 创建主机
  • 填写主机名称 - 可见名 - 所属群组 - 客户端IP(agent代理程序接口)
  • 模板 - Template APP FTP Server - Template APP HTTP Server - Template APP SSh Server - Template OS Linux - 添加(添加监控模板) - 添加(添加监控主机)
  • 警告通知(服务器端配置)

  • 邮件脚本通知

    1.下载并解压软件
    # wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
    # tar -xf sendEmail-v1.56.tar.gz
    ​
    ​
    2.复制文件
    # cd sendEmail-v1.56
    # cp -a sendEmail /usr/local/bin
    ​
    3.设置权限
    # chmod +x /usr/local/bin/sendEmail
    ​
    4.安装组件
    # yum -y install perl-Net-SSLeay  perl-IO-Socket-SSL
    ​
    5.测试邮件功能
    # /usr/local/bin/sendEmail -f szyllf18770942082@163.com -t 1398045053@qq.com -s smtp.163.com -u "zabbix test" -o message-content-type=html -o message-charset=utf8 -xu szyllf18770942082@163.com -xp HQIDBPZKLRKTNJEW -m "i am a test mail" -l /var/log/sendMyEmail.log -o tls=no
    ​
    命令说明:/usr/local/bin/sendEmail        命令主程序-f szyllf18770942082@163.com    发件人邮箱-t 1398045053@163.com           收件人邮箱-s smtp.163.com                 发件人邮箱的smtp服务器-xu szyllf18770942082@163.com   发件人邮箱的用户名-xp HQIDBPZKLRKTNJEW            发件人邮箱密码-u "我是邮件主题"                 邮件的标题-m "我是邮件内容"                 邮件的具体内容-o message-content-type=html    邮件内容的格式,html表示它是html格式-o message-charset=utf8         邮件内容编码-l /var/log/sendMyEmail.log     非必输项,邮件发送日志记录到日志文件-o tls=no                       传输是否加密
    6.进入zabbix自定义的指定目录。查看zabbix_server.conf配置文件AlertScriptsPath变量是如何定义的。
    # vim etc/zabbix/zabbix_server.conf
    AlertScriptsPath=/usr/lib/zabbix/alertscripts
    ​
    7.编写脚本
    # cd /usr/lib/zabbix/alertscripts
    # vim sendEmail.sh
    脚本内容如下
    #!/bin/bash
    to=$1
    subject=$2
    body=$3
    /usr/local/bin/sendEmail  -f szyllf18770942082@163.com -t "$to" -s smtp.163.com -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu szyllf18770942082@163.com -xp HQIDBPZKLRKTNJEW -m "$body" -o tls=no
    ​
    说明:
    from@163.com 替换成自己的发件邮箱
    smtp.163.com 表示邮箱的smtp服务器,这里展示使用的是163邮箱,替换自己的邮箱SMTP地址
    password 替换成发件邮箱密码。或者授权码
    ​
    8.给予脚本权限并测试
    # chmod +x sendEmail.sh
    # chown zabbix:zabbix sendEmail.sh
    # ./sendEmail.sh 1398045053@qq.com biaoti nerong

    9.web页面配置

    #创建邮件报警机制:
    1.  安装邮件客户端软件sendemail
    2.  编写sendemail的发件脚本
    3.  将sendemail脚本添加到zabbix的报警媒介中管理 - 报警媒介类型 - 创建媒体类型 - {名称、类型:脚本、脚本名称}
    4.  将报警媒介和管理员进行关联管理 - 用户 - Admin{你选的用户} - 报警媒介 - 添加 - 报警媒介选择 - 收件人 - 更新

    钉钉通知脚本

  • # cd /usr/lib/zabbix/alertscripts
    # vim dingding.sh
    脚本内容如下
    #!/bin/bash
    to=$1
    text=$2
    curl 'https://oapi.dingtalk.com/robot/send?access_token=13d75a3fd6dfs2019537e171ec0cad767a5ffcc6212bb7b57e7e02bf4bc6bdfd3a26a' -H 'Content-Type: application/json' -d '{"msgtype": "text","text": {"content": "'"$text"'"},"at":{"atMobiles": [ "'"$to"'" ],"isAtAll": false}}'
  • 3.给予脚本权限并测试
    # chmod +x dingding.sh
    # chown zabbix:zabbix sendEmail.sh
    # ./dingding.sh 18770942082 Trigger:xiaoxineirong

设置代理服务器

代理服务器192.168.190.158

1.安装zabbix-proxy
# rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
# yum -y install zabbix-proxy
​
2.修改配置文件
# vim /etc/zabbix/zabbix_proxy.conf
Server=192.168.190.157              #服务器IP
Hostname=Zabbix proxy               #主机名(可自定义)
DBName=zabbix
DBUser=zabbix
DBPassword=123456
​
3.安装数据库
# yum install -y mariadb mariadb-server     #安装
# systemctl start mariadb                   #启动mariadb
# systemctl enable mariadb                  #设置开机自启动
# mysql -uroot
# MariaDB [(none)]> create database zabbix default character set utf8 collate utf8_bin;
# MariaDB [(none)]> grant all on zabbix.* to "zabbix"@"localhost" identified by "123456";
# MariaDB [(none)]> grant all on zabbix.* to "zabbix"@"%" identified by "123456";
​
4.导入zabbix数据库结构
# cd /usr/share/doc/zabbix-proxy-mysql-3.0.32
# zcat schema.sql.gz | mysql -uroot zabbix
​
5.启动zabbix proxy
# systemctl enable zabbix-proxy
# systemctl start zabbix-proxy

客户端2,指向代理服务器192.168.190.158

1.安装zabbix-agent
# rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
# yum -y install zabbix-agent
​
2.修改配置文件
服务器端:
# vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.190.158                  #服务器IP
ServerActive=192.168.190.158                #服务器IP
Hostname=Zabbix agent2              #监控的主机名(可自定义)
​
3.启动zabbix agent
# systemctl enable zabbix-agent
# systemctl start zabbix-agent

管理网页

1.添加代理程序
管理→agent代理程序→创建代理→agent代理程序名称必须和代理服务器配置文件中的Hostname一样
# vim /etc/zabbix/zabbix_proxy.conf
Hostname=Zabbix proxy
​
2.添加主机客户端2,选择代理。主机名也必须和配置文件中主机名一模一样
Hostname=Zabbix agent2

zabbix监控及相关操作流程相关推荐

  1. linux监控平台介绍、zabbix监控介绍、安装zabbix

    linux监控平台介绍 常见开源监控软件 cacti.nagios.zabbix.smokeping.open-falcon 等等. nagios和zabbix流行度很高. cacti.smokepi ...

  2. Linux监控平台介绍、zabbix监控介绍、安装zabbix、忘记Admin密码如何做

    Linux监控平台介绍 常见开源监控软件 cacti.nagios.zabbix.smokeping.open-falcon等等. cacti.smokeping偏向于基础监控,成图漂亮. cacti ...

  3. zabbix监控之nginx状态监控(一)

    [本文档所介绍的内容适用于公司测试/生产环境等常见的zabbix监控应用部署] 一:相关环境准备: 1.1相关软件以及系统 系统要求:Centos 6及以上(64位) 环境要求:zabbix监控系统( ...

  4. 最新版,别的可以不用看了,zabbix 监控 esxi

    [请细心的把本文档读完,如果不读不要过来问我,如果是废话我也不会码这么多字!]之前因为自己需要写了ESXi的监控帖子,没想到很受欢迎.因为文档等内容写的不够详细,导致很多朋友部署的时候遇到了各种问题, ...

  5. Zabbix监控详解

    Zabbix是什么 Zabbix 是由Alexei Vladishev创建,目前由Zabbix SIA在持续开发和支持. Zabbix 是一个企业级的分布式开源监控方案. Zabbix是一款能够监控各 ...

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

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

  7. zabbix监控-基本原理介绍

    一.Linux下开源监控系统简单介绍 1)cacti:存储数据能力强,报警性能差 2)nagios:报警性能差,存储数据仅有简单的一段可以判断是否在合理范围内的数据长度,储存在内存中.比如,连续采样数 ...

  8. Linux监控平台搭建( zabbix监控)

    2019独角兽企业重金招聘Python工程师标准>>> Linux监控平台搭建( zabbix监控) 一.Linux监控平台介绍 1.监控存在的原因 站点出了问题,没有人知道,等用户 ...

  9. zabbix监控oracle缓冲区,Zabbix监控oracle各服务器连接数

    需求: 根据机器名查询oracle连接数,并通过zabbix进行监控 脚本: [root@rac1 Zabbix_S]# cat get_conns.py #!/usr/bin/python #cod ...

最新文章

  1. 4.3.4 网络地址转换NAT
  2. brave浏览器_区块链浏览器 Brave 为广告观看者提供 BAT 代币奖励
  3. struts2学生信息管理系统篇章③
  4. CBO Cost Formulas基于成本优化器的成本计算公式大全
  5. php 命令行 php.ini,php web环境和命令行环境下查找php.ini的方法分享
  6. html 遍历div内check,vue+element中checkbox 实现遍历分组全选
  7. FBEC2021暨第六届金陀螺奖颁奖典礼盛大开幕
  8. python包的初始与日志模块
  9. LeetCode-654. 最大二叉树
  10. Pig 变飞机?AI 为什么这么蠢!
  11. mysql 垂直分表技术的实战演练,有实战代码。
  12. Topcoder SRM 637 (Div.2)
  13. ANDROID cmake版本下载,android studio中为gradle指定cmake版本
  14. excel当前时间增加几天或者几小时
  15. 爬虫问题,内容应该如何解码,base64解码技巧,从哪里开始分析
  16. 华为笔记本没有网线口_有的笔记本电脑没有网线插口吗?
  17. 浴火重生的Firebird
  18. 原味的SM3密码杂凑算法
  19. CS224N WINTER 2022 (六)前沿问题探讨(QA、NLG、知识集成与检索、Coreference)
  20. HJ100 等差数列

热门文章

  1. Java图片合成、base64转换
  2. python?java?都能制作自己的植物大战僵尸!
  3. 二嗨租车系统java_java第二季。哒哒租车系统(参考的很多前辈们的代码!)
  4. 每日一题【55】导数-复杂的题干=简单的思路
  5. HTML5+jQuery制作温馨浪漫爱心表白动画特效
  6. Mockplus设计大赛获奖选手专访 | 千人静听:千人千面的音乐推荐与分享APP
  7. 父亲和女儿,成为同一所高校的新生!
  8. js父元素获取子元素img_js获得子页面元素
  9. 字符串java_字符串方法
  10. python简单的爬虫教程中召唤小海龟_Python爬虫入门小练习之简单的50行(一)