• 服务器监控的构建之路


    服务器监控的构建之路大致分三个阶段:

        一.200台以内

        需求如下:

            1.简单, 易用

            2.稳定运行

            3.能够报警, 邮件, 短信

        基于以上需求,可以使用比较流行开源的监控软件Nagios, Cacti, Zabbix, Ganglia, ect 。热门开源产品有较多文档,可快速上手,并且有大量前人使用经验,可避免许多问题,遇到问题也容易找到解决办法。

        二.200~1000台

        需求如下:在原需求下变的复杂(通知, 告警)

            1.统一监控内容

            2.覆盖式监控

            3.及时通知

        基于以上需求,1.统一监控内容:将基础监控进行统一,默认每个机器都包含CPU, 内存, 磁盘空间等基础信息监控。

                                 2.覆盖式监控:将所有机器均纳入监控, 除去基础监控以外, 最重要的当属业务监控,尽可能的覆盖业务流程,通过自定义监控减少和去除重复的问题,保障业务稳定运行。

                                 3.及时通知:确保无遗漏。将所有监控分类, 更具重要程度,紧急程度等。分别用邮件, 微信, 短信, 电话等不同级别的方式通知,确保每个监控都有人处理,并且对于重要的业务采用call死你的方式, 不处理就一直通知。

                                 在这个时期对Nagios进行深入研究, 编写自定义脚本, 大量增加各种监控, 将Nagios大部分的插件如:nrpe, nsca 的功能充分使用。

                                 随着机器越来越多,需要监控的服务也越来越多, 告警信息出现爆发式增长。

        三.1000+(1000+和2000+没啥区别)

        两条路:

            1.根据需求,继续深度开发Nagios

            2.自建监控(至少需要了解Nagios的整体架构和运作模式)

        到这个阶段开始开发自己的监控系统, 解决痛点, 完成需求, 主要有如下事情:

            

            1.具备目前在用的Nagios所有功能: 比照Nagios去做, 覆盖原来功能, 并针对Nagios的问题进行优化改进, 然后替代了Nagios之后再升级。
    (这一步最重要,如果连之前的Nagios的功能都不能替代,自建之路只能在这里就停下了)。

            2.将告警进行整理:  化简为繁, 减少重复警告。当出现轰炸式告警信息之后, 如果不进行及时整理势必将会正真需要处理的事情耽误,并且由于某些原因,比如线路问题, 会发生重复警告, 所以必须要将告警信息进行处理在发出。

    (如: 预警信息由之前的3000+下降到300)。

            3.分离告警和显示: 前面监控系统, 基本上告警功能和显示功能均在一起, 不同的机房也需要汇总在中心节点后统一显示和告警。重要的告警处理是分秒必争的, 也跟界面显示无关, 所有作者在设计的时候将显示和告警功能进行了一次分离, 在本地机房进行报警, 然后在集中展示。

            4.分布式部署: 避免单点。 每个机房设置一个分节点, 就是上面说的报警节点, 设置一个中心节点,先在各个机房告警, 然后汇总在中心展示。分节点与中心节点互备, 通过智能DNS进行切换。

    (如: 中心节点宕机, DNS自动切换到一个分中心节点, 分节点升级为中心节点。)

        四.总结

        自建系统好处:

            可以充分利用数据, 组合数据, 分析数据, 解释数据, 将晦涩难懂的数据解读成人人能懂的数据, 让产品人员, 销售人员, 老板统统明白当前的业务状态是怎么样的。

        五.实际操作

        

        本人经过在服务器上实践无误后,在虚拟机上重新配置的干净系统环境(centos7,windows)一步步截图来的,如果按照步骤来是不会报错的,如果出错,请检查自己的网络配置以及防火墙,杀毒软件等(检查网络配置常用命令:ping;telnet)

        安装zabbix 监控主机

        配置环境:虚拟机上安装的centos7

        zabbix官网下载地址

        https://www.zabbix.com/cn/download

     

            本次安装的版本是4.0版本,以下是安装步骤:

            一.关闭selinux和防火墙

      检测selinux是否关闭

      [hunter@localhost ~]$ getenforce

      Disabled

      临时关闭

      [root@localhost hunter]# setenforce 0

      永久关闭

      [root@localhost hunter]# vi /etc/selinux/config

      将SELINUX=enforcing改为SELINUX=disabled 

      设置后需要重启才能生效

      查看默认防火墙状态

      [root@localhost hunter]# firewall-cmd --state

      running #关闭后显示not running,开启后显示running

      停止firewall

      [root@localhost hunter]# systemctl stop firewalld.service

      禁止firewall开机启动

      [root@localhost hunter]# systemctl disable firewalld.service

      Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.

      Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

      二.Zabbix4.0程序安装

      配置zabbix的yum源

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

      安装zabbix程序包,安装mysql、zabbxi-agent

      rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

      (此处可能会有下载失败,多次尝试即可)

      安装成功

      启动mariadb并设置开机启动,创建数据库实例,授权

      [root@localhost hunter]# systemctl start mariadb      #启动mariadb

      [root@localhost hunter]# systemctl enable mariadb  #设置开机启动

      [root@localhost hunter]# mysql                             #登入数据库

      MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;   #创建数据库实例

      Query OK, 1 row affected (0.00 sec)

      MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@'%' identified by 'zabbix';   #授权所有主机访问数据库实例zabbix,用户名/密码:zabbix/zabbix

      Query OK, 0 rows affected (0.00 sec)

      MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';   #授权localhost主机名访问数据库实例zabbix,用户名/密码:zabbix/zabbix

      Query OK, 0 rows affected (0.00 sec)

      MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost.localdomain identified by 'zabbix';  #授权localhost.localdomain主机访问数据库实例zabbix,用户名/密码:zabbix/zabbix

      Query OK, 0 rows affected (0.00 sec)

      导入初始模式和数据

      [root@localhost hunter]# cd /usr/share/doc/zabbix-server-mysql-4.0.10/              #进入create.sql.gz所在目录

      [root@localhost zabbix-server-mysql-4.0.10]# zcat create.sql.gz |mysql -uroot zabbix    #导入出事模式

      三.启动zabbix-server服务

      配置zabbix-server的配置文件zabbix_server.conf

      [root@localhost zabbix-server-mysql-4.0.10]# vi /etc/zabbix/zabbix_server.conf

      DBHost=localhost          # 数据主机名

      DBName=zabbix            # 数据库实例

      DBUser=zabbix              # 用户名

      DBPassword=zabbix      # 密码

      启动zabbix-server服务

      [root@localhost zabbix-server-mysql-4.0.10]# systemctl start zabbix-server #启动zabbix-server服务

      [root@localhost zabbix-server-mysql-4.0.10]# systemctl enable zabbix-server #设置zabbix-server服务开机自启动

      编辑Apache的配置文件,消注释设置正确的时区

      [root@localhost zabbix-server-mysql-4.0.10]# vi /etc/httpd/conf.d/zabbix.conf

      启动httpd服务 ,设置开机启动httpd服务

      [root@localhost ~]# systemctl start httpd #启动httpd服务 

      [root@localhost ~]# systemctl enable httpd #设置开机启动httpd服务

    [root@localhost ~]# systemctl start zabbix-agent # 启动zabbix-agent服务

    [root@localhost ~]# systemctl enable zabbix-agent # 设置zabbix-agent服务开机自启动

      四.Zabbix Web网页安装

      在浏览器输入地址http://服务器ip/zabbix/setup.php,出现欢迎界面,点击下一步;

    点击Next step,出现必要条件检测界面,正常都是OK,点击Next step

    配置DB连接,与zabbix_server.conf文件中主机、数据库名称、用户名、密码保持一致,点击Next step(之前我们设置的密码是zabbix)

    zabbix服务器详细信息,点击Next step(Name是可选项)

    安装前汇总,检查信息无误,点击Next step

    安装成功

    进入登录页面,用户由于没有设置,默认是Admin,根据之前配置,密码是zabbix

    登录成功

    设置里切换语言

    至此,zabbix 的主机就安装成功了。

    2.在windows7 上安装zabbix agent配置

    (windows记得关闭防火墙,控制面板 -->系统和安全 -->Windows defender 防火墙 -->启用或关闭防火墙)

    下载zabbix agent

    https://www.zabbix.com/download_agents

    主机是4.0版本的,客户端我选的是3.4版本的,因为软件一般都是上下兼容,所以3.4是可以用的

    在c盘(其他盘也可以)新建zabbix文件夹,把下载好的文件放进去,解压

    进入conf文件夹,修改配置文件zabbix_agentd.win.conf(用记事本或者写字板打开)

      LogFile=c:zabbixzabbix_agentd.log

           Server=192.168.220.130 (填写监控主机ip地址)

           ServerActive=192.168.220.130 (填写监控主机ip地址)

           Hostname=LAPTOP-E12K29O8(右击我的电脑-属性,看看hostname)

    保存。

    打开命令提示符界面:(键盘快捷键win+R,输入cmd)

    cd zabbixinwin64

    zabbix_agentd.exe -i -c C:zabbixconfzabbix_agentd.win.conf(安装zabbix客户端)

    zabbix_agentd.exe -s -c C:zabbixconfzabbix_agentd.win.conf(开启zabbix服务)

    都返回successfully 则成功

    如果失败,可能需要卸载agent,命令:

    cd zabbixinwin64

    zabbix_agentd.exe -d -c C:zabbixconfzabbix_agentd.win.conf(删除zabbix客户端)

    在被监控机上安装好zabbix agent后,下一步则是在主机上配置连接

    配置------主机---------创建主机

    主机名称与在agent里配置的hostname名称要一致

    agent代理程序的接口 ip地址填被控机的ip地址

    添加 再选择该主机-----模板

    添加模板 Template OS Windows

    ------更新

    等待两分钟左右,刷新页面,主机的ZBX变绿,就ok了

    这是监控的cpu ulimitization图像

    至此,在windows7 上安装zabbix agent配置已完毕。

    3.在centos7 上安装zabbix agent配置

    先关闭防火墙和selinux

    一.关闭selinux和防火墙

    检测selinux是否关闭

    [hunter@localhost ~]$ getenforce

    Disabled

    临时关闭

    [root@localhost hunter]# setenforce 0

    永久关闭

    [root@localhost hunter]# vi /etc/selinux/config

    将SELINUX=enforcing改为SELINUX=disabled 

    设置后需要重启才能生效

    查看默认防火墙状态

    [root@localhost hunter]# firewall-cmd --state

    running #关闭后显示not running,开启后显示running

    停止firewall

    [root@localhost hunter]# systemctl stop firewalld.service

    禁止firewall开机启动

    [root@localhost hunter]# systemctl disable firewalld.service

    Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.

    Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

    安装zabbix 软件源

    rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm

    安装zabbix-agent

    yum install zabbix-sender zabbix-agent zabbix-get

    中途有提示选择y/n 选y

    vi /etc/zabbix/zabbix_agentd.conf #修改conf配置

    Server=192.168.220.130 #监控主机的ip

    ServerActive=192.168.220.130 #监控主机的ip

    Hostname=localhost.localdomain #本机的名字

    设置启动和开机项

    systemctl start zabbix-agent.service

    systemctl enable zabbix-agent.service

    在监控主机web页面上添加主机

    主机名是被监控的centos7的主机名(查看主机名命令 hostname)

    ip地址是被监控的centos7的ip地址

    模板选择Template OS Linux

    等待几分钟,刷新页面,zbx变成绿色,就ok了

    点击图形进入

    随便选择一个进入,可以发现已经有图像了

    至此 在centos7 上安装zabbix agent配置已完毕。

    注意:如需转载,请注明出处。

  • 相关阅读:
    Facebook ads_Business Manager
    思维导图学习5——参考书目
    思维导图学习4——技巧2
    思维导图学习3——思维导图示例
    思维导图学习2——思维导图的用途
    思维导图学习1——元素介绍
    广告词条解释
    Twitter OAuth
    Twitter开发2
    Twitter REST API, Streaming API
  • 原文地址:https://www.cnblogs.com/sheng518/p/11264285.html
Copyright © 2020-2023  润新知