监控软件 zabbix

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了监控软件 zabbix相关的知识,希望对你有一定的参考价值。

监控软件


监控软件:zabbix,nagios,cacti,ganglia

    1)、zabbix
                        定义:Zabbix 是一个基于 WEB 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
                        性能:zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
                        适用范围:支持设备多,自带多种监控模板
                                            支持分布式集中管理,有自动发现功能,可以实现自动化监控
                        缺点:需在被监控主机上安装 agent,所有数据都存在数据库里, 产生的数据据很大,瓶颈主要在数据库。
                        Zabbix 官方文档:https://www.zabbix.com/documentation/start

    2)、nagios
                        定义:Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。
                        性能:监控网络服务(SMTP、POP3、HTTP、NNTP、PING等);监控主机资源(处理器负荷、磁盘利用率等); 可选的WEB界面用于查看当前的网络状态、通知和故障历史、日志文件等。
                        适用范围:
                                    Nagios 已经可以支持由数万台服务器或上千台网络设备组成的云技术平台的监控,它可以充分发挥自动化运维技术特点在设备和人力资源减少成本
                                    Nagios支持监控多台服务器并且在系统或服务状态异常时,发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。
                        缺点:只是 Nagios 无法将多个相同应用集群的数据集合起来,也不能监控到集群中特殊节点的迁移和恢复。
                                    看不到历史数据,只能看到报警事件,要追查故障原因,很难
                        参见:https://www.nagios.org/

    3)、cacti
                        定义:Cacti是一套基于php,mysql,SNMP及RRDTool开发的网络流量监测图形分析工具。
                        性能:cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。
                                                Mysql配合PHP程序存储一些变量数据并对变量数据进行调用,如:主机名、主机ip、snmp团体名、端口号、模板信息等变量。
                        适用范围:   Cacti 监控关注的是对数据的展示,却不关注数据异常后的反馈。
                        缺点:报警机制不完善
                        Cacti的官方的模板库:http://docs.cacti.net/templates  

    4)、ganglia
                    定义:ganglia是UC Berkeley发起的一个开源集群监视项目,设计用于测量和监控数以千计的节点。
                    性能:主要是用来监控系统性能,如:cpu 、内存、硬盘使用率, I/O负载、网络流量情况等。
                    适用范围:适用于大型服务器集群用户。当有一个服务器群组时,ganglia可以通过曲线很容易的见到每个节点的工作状态。但是,ganglia服务端能够通过一台客户端收集到的是**同一个网段**的所有客户端的数据
                    缺点:没有内置的消息通知系统
                                没有报警机制,出现问题不能够及时报警
                    参见:http://ganglia.info/

            区别:
                            1.nagios图形不是特别好,也可以安装图形插件,但是怎么好看
                            2.nagios一般情况下如果需要图形可以和cacti配合使用
                            3.cacti的监控是轮询监控,效率低,图形相对nagios比较好看
                            4.zabbix和nagios因为是并发监控,对cpu的要求更高
                            5.zabbix在性能和功能上都强大很多
                            6.zabbix的图形相当漂亮
                            7.支持多种监控方式 zabbix-agent  snmp 等等
                            8.支持分布式监控,能监控的agent非常多
                            9.zabbix有图形的web配置界面,配置简洁
                        10.zabbix支持自动发现功能

今天写的就是zabbix3.4的安装与部分告警。

配置

环境准备:
            1、关闭防火墙和selinux(这里写的只是临时关闭)
            [[email protected] ~] # setenforce 0
            [[email protected] ~] # systemctl stop firewalld

            2、主机解析设置
            [[email protected] ~] # vim /etc/hosts

技术分享图片

安装配置server和slave:
server端:(监控端)
1、用MySQL数据库安装存储库
    [[email protected] ~] # rpm  -ivh  http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm  

2、安装ZabBIX服务器、前端、代理以及apache服务
    [[email protected] ~] # yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent -y
    [[email protected]bbix-server ~] # yum -y install httpd

3、创建初始数据库
    a. 安装mariadb、mariadb-server
   [[email protected] ~] # yum install mariadb mariadb-server -y 

    b.启动mariadb
   [[email protected] ~] # systemctl start mariadb

    c.进入数据库
    [[email protected] ~] # mysql -uroot -p
    password
    a).创建数据库ZabBIX,字符集UTF8,校对UTF8BIN;
     MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
    b).给zabbix数据库所有权限,设置密码为"password"
    MariaDB [(none)]> grant all privileges on zabbix.* to [email protected] identified by ‘password‘;
    c).刷新数据库
    MariaDB [(none)]> flush privileges;
    d).退出
    MariaDB [(none)]>  quit; 

    d.导入初始模式和数据。将提示您输入新创建的密码。
    [[email protected] ~] # zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p -D zabbix  

4、为ZabBIX服务器配置数据库 
    [[email protected] ~] # vim /etc/zabbix/zabbix_server.conf
    DBHost=localhost
    DBName=zabbix
    DBUser=zabbix
    DBPassword=password

    [[email protected] ~] # cd /usr/share/zabbix/conf
    [[email protected] conf]# ls
    zabbix.conf.php.example
    [[email protected] conf]# cp zabbix.conf.php.example zabbix.conf.php
    [[email protected] conf]# vim zabbix.conf.php   //修改数据库密码
    $DB[‘PASSWORD‘]                 = ‘password‘;

5、启动ZabBIX服务器和代理进程并使其在系统启动时启动:
    [[email protected] ~] # systemctl start  zabbix-server zabbix-agent httpd
    [[email protected] ~] # systemctl enable zabbix-server zabbix-agent httpd

6、为ZabBIX前端配置PHP
    注:ZabBIX前端的Apache配置文件位于 /etc/httpd/conf.d/zabbix.conf 中。一些PHP设置已经被配置。但是有必要取消“日期时区”设置,为你设置正确的时区。
    [[email protected] ~] # 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 Europe/Riga
     php_value date.timezone Asia/Shanghai

7、启动服务
    # systemctl restart httpd

8、查看
    在网页上输入,http://server_ip_or_name/zabbix   

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片
注:用户名中的Admin首字母大写

技术分享图片

可以更改语言与界面,点击右上角的用户头像
技术分享图片

    slave端:(被监控端)
    1、安装源,代理
    [[email protected] ~]# rpm  -ivh  http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm 
    [[email protected] ~]# yum -y install zabbix-agent

    2、修改配置文件
    [[email protected] ~]# vim /etc/zabbix/zabbix_agentd.conf 
    Server=192.168.122.211                    // 被动模式 zabbix-server-ip
    ServerActive=192.168.122.211         // 主动模式  zabbix-server-ip
    Hostname=Zabbix server                   // 客户端主机名称
    UnsafeUserParameters=1                  // 是否限制用户自定义 keys 使用特殊字符

    3、启动服务:
    [[email protected] ~]# systemctl start zabbix-agent
    [[email protected] ~]# systemctl enable zabbix-agent

    4、查看端口:
    [[email protected]  ~]# ss -anlp |grep :10050

    此时,在进入刚才的网页中,你会发现:

技术分享图片

这样zabbix的配置就完成了!!!


下面是报警的案例

===============================================================
案例:使用公网邮箱发送邮件报警
邮件系统简介:
电子邮件系统包括两个组件:MUA(Mail User Agent,邮件用户代理)和MTA(Mail Transport Agent,邮件传送代理 postfix)MUA是邮件系统为用户提供的可以读写邮件的界面;而MTA是运行在底层,能够处理邮件的收发工作的程序。简单的说,用户可以 使用MUA写信、读信、而通过MTA收信、发信。Foxmail、Outlook、Webmail都属于MUA。
邮件的接收是MTA和MUA配合完成的。远程的MUA首先向远程MTA连接并验证发信人身份,然后由远程MTA向本地MTA发送邮件。接受者通过本 地MUA接收阅读邮件。邮件的发信也是MTA和MUA配合完成的,不过方向正好相反。本地MUA首先向本地的MTA连接并验证发信人身份,然后由本地 MTA向远程MTA发送邮件,再由远程的MUA读取邮件。
mail和mailx即为负责查看、编写邮件和向MTA发送邮件的MUA。mailx是mail的功能加强版。
sendmail即为负责邮件在网络上传输的MTA,将邮件从一个MTA传送至另一个MTA。

开始部署:
1、安装MUA软件:mailx
[[email protected] ~]# yum -y install mailx
[[email protected] ~]# mail -V
12.5 7/5/10

2、配置公网邮箱信息:
[[email protected] ~]# vim /etc/mail.rc
set [email protected](邮箱地址)
set smtp=smtp.163.com(smtp服务器)
set [email protected](用户名)
set smtp-auth-password=xxx(授权码)
set smtp-auth=login

3、手动发送邮测试:
[[email protected] ~]# mailx -v -s ‘hello‘ ‘[email protected]
nihao
EOT
Resolving host smtp.163.com . . . done.
Connecting to 123.125.50.138:smtp . . . connected.
220 163.com Anti-spam GT for Coremail System (163com[20141201])

>> EHLO zabbix-server
250-mail
250-PIPELINING
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-coremail 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2UFnnfvEUCa0xDrUUUUj
250-STARTTLS
250 8BITMIME
>> AUTH LOGIN
334 dXNlcm5hbWU6
>> aHV5YXRpbmcxMTE4QDE2My5jb20=
334 UGFzc3dvcmQ6
>> ZmVsbG93MTExOG1l
235 Authentication successful
>> MAIL FROM:<[email protected]>
250 Mail OK
>> RCPT TO:<[email protected]>
250 Mail OK
>> DATA
354 End data with <CR><LF>.<CR><LF>
>> .
250 Mail OK queued as smtp1,C9GowABnh29KNVxbtGebAQ--.99S2 1532769610
>> QUIT
221 Bye

或者,将邮件内容放到一个文件中content.txt
cat content.txt | mailx -v -s ‘hello’ ‘[email protected]

也可以使用zabbix进行报警,这里我就不写了,可以自己看一下zabbix的官网

以上是关于监控软件 zabbix的主要内容,如果未能解决你的问题,请参考以下文章

zabbix 介绍

zabbix使用zabbix-java-gateway监控jvm/tomcat性能

zabbix使用zabbix_java_gateway 监控java应用进程

为主机添加zabbix监控

使用Zabbix+Grafana监控

使用 zabbix 自动发现监控 MySQL