19.1 Linux监控平台介绍

  • 常见开源监控软件
  • cacti、nagios(流行,不能成图)、zabbix(流行,可成图,配置比nagios更简单)、smokeping、open-falcon等等.
  • cacti、smokeping偏向于基础监控(比如监控网络设备),多用于机房,其成图非常漂亮.
  • cacti、nagios、zabbix服务端监控中心,支持web界面管理,需要php环境支持,其中zabbix和cacti都需要mysql作为数据存储,nagios不用存储历史数据,注重服务或者监控项的状态zabbix获取服务或者监控项目的数据,会把数据记录到数据库里,从而可以成图.
  • open-falcon为小米公司开发,开源后受到诸多大公司和运维工程师的追捧,适合大企业,滴滴、360、新浪微博、京东等大公司在使用这款监控软件,建议研究下open-falcon.
  • 后续以介绍zabbix为主.

19.2 zabbix监控介绍

  • zabbix是C/S架构的,基于C++开发,监控中心支持web界面配置和管理.
  • 单server节点的zabbix可以支持上万台客户端.
  • 最新版本3.4,官方文档https://www.zabbix.com/manuals

  • zabbix的5个组件:
  • (1)zabbix-server
    监控中心,接收客户端上报信息,负责配置、统计、操作数据.
  • (2)数据存储
    用于存放数据,比如mysql.
  • (3)web界面
    也叫web UI,在web界面下操作配置是zabbix简单易用的主要原因.
  • (4)zabbix-proxy
    可选组件,它可以代替zabbix-server的功能,减轻server的压力(当机器很多时启用).
  • (5)zabbix-agent
    客户端软件,负责采集各个监控服务或项目的数据,并上报.
    2018-4-12 Linux学习笔记_第1张图片

    19.3/19.4/19.6 安装zabbix

  • (1)zabbix服务端安装:
    官网下载地址 www.zabbix.com/download
  • 下载zabbix的yum源
    wget repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
    rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm
    yum install -y zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql
  • 注: 以上安装会连带安装httpd和php
  • 如果mysql之前没有安装的话,需要根据lamp那一章的mysql安装方法安装mysql
  • 检查mysql是否有启动
    ps aux | grep mysql
  • 若没有要先启动
    /etc/init.d/mysqld start
  • 编辑mysql配置文件:
    vim /etc/my.cnf
  • 需要增加配置
    character_set_server = utf8
    2018-4-12 Linux学习笔记_第2张图片
  • 注: 此处设置目的是为了让之后zabbix界面设置成中文不出现乱码
  • 重启mysqld服务
    /etc/init.d/mysqld restart
  • 进入mysql命令行,创建zabbix库
    mysql -uroot -p
    create database zabbix character set utf8;
  • 创建用户
    grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'test-zabbix';
  • 退出mysql命令行, 导入数据
    cd /usr/share/doc/zabbix-server-mysql-3.2.11
    gzip -d create.sql.gz
    mysql -uroot -p123456 zabbix < create.sql
    2018-4-12 Linux学习笔记_第3张图片
  • 启动zabbix-server
    systemctl start zabbix-server
    systemctl enable zabbix-server
  • 停止nginx(不然80端口被占用,httpd启动不了)
    systemctl stop nginx
    chkconfig nginx off
  • 启动httpd
    systemctl start httpd
    systemctl enable httpd
  • 编辑zabbix_serve配置文件:
    vim /etc/zabbix/zabbix_server.conf
  • 修改成如下:
    DBHost=127.0.0.1 //在DBName=zabbix上面增加
    DBPassword=test-zabbix //在DBuser下面增加
    2018-4-12 Linux学习笔记_第4张图片
  • 重启zabbix-server服务
    systemctl restart zabbix-server
  • 查看zabbix-server监听端口
    netstat -lntp |grep zabbix
    2018-4-12 Linux学习笔记
  • 注:zabbix-server监听10051端口
  • 配置zabbix-server的web管理界面:
    浏览器访问http://192.168.168.129/zabbix/ web界面下面配置zabbix
    2018-4-12 Linux学习笔记_第5张图片
    2018-4-12 Linux学习笔记_第6张图片
  • 发现timezone一项是Fail,需修改php.ini
    vi /etc/php.ini
  • 设置
    date.timezone = Asia/Shanghai
    2018-4-12 Linux学习笔记_第7张图片
  • 重启httpd
    systemctl restart httpd
  • 然后刷新页面,可看到timezone一项已变成OK了
    2018-4-12 Linux学习笔记_第8张图片
    2018-4-12 Linux学习笔记_第9张图片
    2018-4-12 Linux学习笔记_第10张图片
    2018-4-12 Linux学习笔记_第11张图片
    2018-4-12 Linux学习笔记_第12张图片
  • 用户名Admin 密码zabbix
    2018-4-12 Linux学习笔记_第13张图片
    进入后台第一件事情就是要修改密码,以确保安全.

  • (2)zabbix客户端安装:
  • 在客户端上也需要下载zabbix的yum源
    wget repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
    rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm
    yum install -y zabbix-agent
    vim /etc/zabbix/zabbix_agentd.conf
  • 修改配置如下:
    Server=127.0.0.1修改为
    Server=192.168.168.129 //定义服务端的ip(被动模式)
    ServerActive=127.0.0.1修改为
    ServerActive=192.168.168.129 //定义服务端的ip(主动模式)
    Hostname=Zabbix server修改为
    Hostname=centos_02 //这是自定义的主机名, 需要在web界面下设置同样的主机名
  • 启动zabbix-agent服务:
    systemctl start zabbix-agent
    systemctl enable zabbix-agent
    netstat -lntp | grep zabbix
    2018-4-12 Linux学习笔记
  • 注:zabbix-agent监听10050端口.

    19.5 忘记Admin密码如何做

  • 进入mysql命令行,选择zabbix库
  • mysql -uroot -p
  • use zabbix
  • update users set passwd=md5(‘newpasswd’) where alias=‘Admin’;
  • 这样就更改了Admin用户的密码,其中md5表示用md5加密.