zoukankan      html  css  js  c++  java
  • 分布式监控解决方案zabbix02-使用agent监控其他linux

    一。 zabbix操作和配置

      zabbix常用的操作为 系统用户权限管理 虚拟主机 监控项 触发器 监控模板等

    1》用户和权限

       以下是权限配置的几个概念
       主机组:被监控的主机的集合 同一类模板创建的主机 主机组配置参考官方文档
       用户组:某个用户组对某些主机组的操作权限 常用的操作权限有(读写,读,拒绝)用户组配置参考官方文档(https://www.zabbix.com/documentation/3.4/zh/manual/config/users_and_usergroups/usergroup)  默认管理用户组是Zabbix administrators
       用户:可以属于多个用户组 属于不同用户组 操作不同主机的权限      

    2》虚拟主机

       也就是被监控的目标机器 一般该机器需要安装zabbit-agent
    3》监控项

     监控项是Zabbix中获得数据的基础。没有监控项,就没有数据——因为一个主机中只有监控项定义了单一的指标或者需要获得的数据 比如监控cpu 内存磁盘等数据。

    4》触发器
    监控项只是用于收集数据。如果需要自动评估收到的数据,我们则需要定义触发器。触发器包含了一个表达式,这个表达式定义了数据的可接受的阈值级别。
    如果收到的数据超过了这个定义好的级别,触发器将被“触发”,或者进入“异常(Problem)”状态——从而引起我们的注意,让我们知道有问题发生。如果数据再次恢复到合理的范围,触发器将会到“正常(Ok)”状态。

    5》问题通知

    当监控项收集了数据后,触发器会根据异常状态触发报警。根据一些报警机制,它也会通知我们一些重要的事件,而不需要我们直接在Zabbix前端进行查看。
    这就是通知(Notifications)的功能。E-mail是最常用的异常通知发送方式。我们将会学习如何配置e-mail通知。

    二。 zabbix agent安装

      模拟监控linux环境

    192.168.58.152  zabbix-server和zabbix-web
    192.168.58.150  zabbix-agent 被监控的linux主机
     58.152安装参考http://blog.csdn.net/liaomin416100569/article/details/78663086
       18.152修改主机名为 : zabbix-server
    hostname zabbix-server
     58.150安装过程:
     安装 yum源

    [root@node3 tomcat]# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
    安装 zabbix-agent
    [root@node3 tomcat]# yum install -y zabbix-agent 
    查看所有安装文件
    [root@node3 tomcat]# rpm -ql zabbix-agent.x86_64 0:3.4.4-2.el7
    /etc/logrotate.d/zabbix-agent
    /etc/zabbix/zabbix_agentd.conf
    /etc/zabbix/zabbix_agentd.d
    /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
    /usr/lib/systemd/system/zabbix-agent.service
    /usr/lib/tmpfiles.d/zabbix-agent.conf
    /usr/sbin/zabbix_agentd
    /usr/share/doc/zabbix-agent-3.4.4
    /usr/share/doc/zabbix-agent-3.4.4/AUTHORS
    /usr/share/doc/zabbix-agent-3.4.4/COPYING
    /usr/share/doc/zabbix-agent-3.4.4/ChangeLog
    /usr/share/doc/zabbix-agent-3.4.4/NEWS
    /usr/share/doc/zabbix-agent-3.4.4/README
    /usr/share/man/man8/zabbix_agentd.8.gz
    /var/log/zabbix
    /var/run/zabbix
    根配置文件位于/etc/zabbix/zabbix_agentd.conf 添加了一个服务 zabbix-agent.service 
    查看日志轮替文件  /var/log/zabbix/zabbix_agentd.log 发现日志路径 /var/log/zabbix/zabbix_agentd.log
    /etc/hosts配置文件添加
    192.168.58.152 zabbix-server
    修改配置文件 /etc/zabbix/zabbix_agentd.conf  以下几项
    #zabbixserver的ip地址 可以是多个用,隔开
    Server=192.168.58.152
    #用于检查服务器是否存活的ip
    ServerActive=192.168.58.152
    #zabbixweb服务器添加的虚拟主机名称 zabbixagent需要通过ServerActive指定的主机 10050端口去检测添加的虚拟主机名称 是否被激活
    Hostname=mylinux
    启动 zabbix-agent
    [root@node3 tomcat]# service zabbix-agent start
    Redirecting to /bin/systemctl start  zabbix-agent.service
    [root@node3 tomcat]# service zabbix-agent status
    Redirecting to /bin/systemctl status  zabbix-agent.service
    ● zabbix-agent.service - Zabbix Agent
       Loaded: loaded (/usr/lib/systemd/system/zabbix-agent.service; disabled; vendor preset: disabled)
       Active: active (running) since Mon 2017-11-27 03:11:54 PST; 3s ago
      Process: 4844 ExecStart=/usr/sbin/zabbix_agentd -c $CONFFILE (code=exited, status=0/SUCCESS)
     Main PID: 4846 (zabbix_agentd)
       CGroup: /system.slice/zabbix-agent.service
               ├─4846 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
               ├─4847 /usr/sbin/zabbix_agentd: collector [idle 1 sec]
               ├─4848 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
               ├─4849 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]
               ├─4850 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]
               └─4851 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
    
    Nov 27 03:11:54 node3 systemd[1]: Starting Zabbix Agent...
    Nov 27 03:11:54 node3 systemd[1]: PID file /run/zabbix/zabbix_agentd.pid not readable (yet?) after start.
    Nov 27 03:11:54 node3 systemd[1]: Started Zabbix Agent.
    默认开启了服务器连接的端口 10050
    [root@node3 tomcat]# netstat -nlp | grep zabbix
    tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      4846/zabbix_agentd  
    tcp6       0      0 :::10050                :::*                    LISTEN      4846/zabbix_agentd

    三。 zabbix web添加虚拟主机及查看监控图形

     zabbixserver必须添加虚拟主机 来实现和zabbixagent的对接 登录 zabbixweb端(http://192.168.58.152/zabbix/zabbix.php?action=dashboard.view)

    点击导航栏 配置-主机

    输入名称和ip地址(主机名我这里写的中文 是无法成功的 应该使用英文 可见名称可以随便写 我这里 主机名称后面改成了mylinux
       也就是这里主机名称和zabbix-agent配置 Hostname=的值必须一致 否则无法监控
    ) 


    点击模板  链接指示器 选择 弹出窗口中 选择 Template OS Linux 点击选择 一定要连接 下面超链接的添加 否则没有真正添加进入

    点击最下面的添加 主机就添加完成


    查看监控 
    点击监控中-图像-选择之前的主机 查看cpu的负载或者内存等

    可以在 150下载安装 lookbusy来进行模拟cpu繁忙 下载地址(http://devin.com/lookbusy/download/lookbusy-1.4.tar.gz) 上传到linux安装
    进入解压目录

    ./configure && make && make install
    
    测试占用70%的cpu
    [root@node3 lookbusy-1.4]# lookbusy -c 70
    cpu_spin (6678): starting 1 spinner(s) for 70%-70% usage
    lookbusy (6678): CPU spinner started, PID 6679
    cpu_spin (6679): measuring CPU
    cpu_spin (6679): est. 70% util at 12674959 cycles, 29973 usec sleep
    查看web图形发现cpu的 1min监控的绿线 会突然升高到顶部

    在监控图形中 存在乱码 一般是字体的问题 查看web的字体(rpm -qa | grep zabbix 查看web软件)
    Last login: Thu Nov 30 10:31:40 2017 from 192.168.58.1
    [root@zabbix-server ~]# rpm -ql zabbix-web-3.4.4-2.el7.noarch | grep font
    /usr/share/zabbix/fonts
    该目录存在一个字体文件
    [root@zabbix-server ~]# cd /usr/share/zabbix/fonts
    [root@zabbix-server fonts]# ll
    total 0
    lrwxrwxrwx 1 root root 33 Nov 29 11:13 graphfont.ttf -> /etc/alternatives/zabbix-web-font
    window下的c:/windows/fonts目录下 拷贝任意一个支持中文的字体 比如 我拷贝宋体

    拷贝到任意目录  使用sc上传到zabbix-server的/usr/share/zabbix/fonts

    将上传的 simsun.ttc 重命名为graphfont.ttf

    mv graphfont.ttf graphfont.ttf.old
    cp simsun.ttc graphfont.ttf
    重启 httpd服务 
    service httpd restart
    
    重新查看web界面 发现图形乱码都解决

    四。 zabbix web监控图形解释

     1》监控 cpu

        cpu存在三种监控 cpu jumps,cpu load,cpu utilization 

      》》cpm jumps 主要有两个子监控项 

    • context switches per second(sps) 每秒上下文切换数
      单核cpu 线程是分时运行的 操作系统可以同时运行多个进程, 然而一颗CPU同时只能执行一项任务,操作系统利用时间片轮转的方式,让用户感觉这些任务正在同时进行。 CPU给每个任务都服务一定的时间, 然后把当前任务的状态保存下来, 在加载下一任务的状态后, 继续服务下一任务。任务的状态保存及再加载, 这段过程就叫做上下文切换。时间片轮转的方式使多个任务在同一颗CPU上执行变成了可能, 但同时也带来了保存现场和加载现场的直接消耗。
    • interrupts per second(ips)  每s处理的中断数
               中断其实就是由硬件或软件所发送的一种称为IRQ(中断请求)的信号。
               中断允许让设备,如键盘,串口卡,并口等设备表明它们需要CPU。
            一旦CPU接收了中断请求,CPU就会暂时停止执行正在运行的程序,并且调用一个称为中断处理器或中断服务程序(interrupt service routine)的特定程         序。

     

      》》cpu load
         实际上 就是统计系统的负载值 (是由于CPU使用、内存使用、IO消耗三部分构成) 比如 linux上使用uptime查看负载  

    [root@node3 ~]# uptime
     03:53:48 up 1 day, 11:09,  2 users,  load average: 1.07, 1.11, 0.64
    最后三个参数是 最近1分钟 5分钟 15分钟的平均负载  也可以通过top命令 头部分的 load average: 1.76, 1.20, 0.63部分看到
     cpu load实际上就是统计这个数字 

    3》cpu utilization (cpu使用率)

        一般就是统计当前cpu的利用占用 其实就是根据top命令统计 其中top头有以下几个部分
     %Cpu(s): 75.0 us,  2.5 sy,  0.0 ni, 22.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st

     us表示 用户空间占用CPU百分比 查看CPU使用率
     sy 内核空间占用CPU百分比 
     ni 用户进程空间内改变过优先级的进程占用CPU百分比 
     id 空闲CPU百分比
     wa 等待输入输出的CPU时间百分比 



    2》监控内存

       zabbix监控的是 linux剩余可用内存 linux上可以使用 free -m查看以M为单位的内存信息
      

    [root@node3 ~]# free -m
                  total        used        free      shared  buff/cache   available
    Mem:           1824        1625          73           4         126          65
    Swap:          2048         291        1757
    mem表示物理内存 总共是1824M 使用了 1625M 剩余73M

    Swap表示交换内存(物理内存不够 使用交换内存顶 实际就是用磁盘空间当内存用 效率低 ) 总共是2G 使用291剩余1757 

    查看可用内存 


    查看交换内存占用


    3》监控磁盘

      查看磁盘的可用空间 linux命令为 -m表示单位是MB

    [root@node3 ~]# df -m
    Filesystem     1M-blocks  Used Available Use% Mounted on
    /dev/sda3          79532  6345     73187   8% /
    devtmpfs             904     0       904   0% /dev
    tmpfs                913     0       913   0% /dev/shm
    tmpfs                913     9       904   1% /run
    tmpfs                913     0       913   0% /sys/fs/cgroup
    /dev/sda1            297   107       191  36% /boot
    tmpfs                183     0       183   0% /run/user/0

    /表示文件系统根目录 剩余 73187M 使用了 6345M
    /boot表示系统内核的一些数据 总共是297M 使用107M 

    zabbix可以监控这两个分区
    磁盘使用率 /


    磁盘使用率 /boot

    3》监控网络

     查看当前网络占用的流量信息  一般包括 上行流量(进入主机的数据)和下行流量(发出的数据)

    实际统计的linux下的网络流文件

    [root@node3 ~]# more /proc/net/dev
    Inter-|   Receive(接受)                                                |  Transmit(发出)
     face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
    eno16777736: 215187628  544001    0    0    0     0          0         0 672193851  861396    0    0    0     0       0          0
        lo: 16189197  216842    0    0    0     0          0         0 16189197  216842    0    0    0     0       0          0









  • 相关阅读:
    浅谈css中的盒模型(框模型)
    Linux 字符设备驱动及一些简单的Linux知识
    java实现person类 override(重写) comparable接口
    java之内部类
    mac下sublime text3 安装px转rem插件
    python pip安装扩展报错
    curl http_code 状态码
    sed 批量替换文件
    centos 7 开机优化shell
    一个tcp连接可以发多少http请求
  • 原文地址:https://www.cnblogs.com/liaomin416100569/p/9331159.html
Copyright © 2011-2022 走看看