配置监控服务器

监控非常重要,一个公司的服务器架构可以不够成熟,但是监控不能没有。目前,比较流行的开源监控软件有Cacti、Nagios、Zabbix、smokeping、open-falcon等。

Cacti擅长监控网络流量,Cacti、smokeping偏向基础监控,成图专业,多用于IDC机房。Cacti、Nagios以及Zabbix都是C/S架构,需要安装一个服务端,然后还需要在被监控的机器上安装客户端,三个都需要LAMP的支持;

Nagios监控一目了然,它监控某个指标不会返回具体数据,而是返回一个状态,告诉我们正常或不正常。它不需要历史数据,所以它不需要数据库支持,当某个指标不正常,它就会直接发送告警邮件或者短信。

Zabbix和Cacti都需要数据库支持,用来存储数据。Zabbix可以很方便地画图,支持查询历史数据,另外,Zabbix可以很方便地自定义监控项目,可以定制化监控某个指标。

open-falcon为小米公司开发,开源后受到诸多大公司和运维工程师的追捧,适合大企业,滴滴、360、新浪微博、京东等大公司在使用这款监控软件,值得研究。


19.1 Zabbix介绍

Zabbix不仅适合中小型企业,也适合大型企业,它是C/S结构,分为服务端(server)和客户端(client),单个服务端节点可以支持上万台客户端。在硬件和网络足够强悍的情况下,单台服务器理论上可以支持5万个客户端。

Zabbix官网,最新版本是3.4,下载地址,其中也有安装步骤的介绍。


Zabbix组件

Zabbix整个体系架构中有5个主要的组成角色。

zabbix-server

zabbix-server是整个监控体系中最核心的组件,它负责接受客户端发送的报告信息,所有配置、统计数据及操作数据都由它组织。

数据存储

存储着收集到的所有信息。

web界面

web界面即GUI,这让Zabbix更简单易用。运行web界面需要有PHP环境支持。

zabbix-proxy

zabbix-proxy为可选组件,用于监控节点非常多的分布式环境中,它可以代理zabbix-server的功能,减轻zabbix-server的压力。

zabbix-agent

zabbix-agent为部署在各客户端上的组件,用于采集各监控项目的数据,并把采集的数据传输给zabbix-proxy或zabbix-server。


Zabbix架构

Zabbix的运行流程如下图:
这里写图片描述


19.2 部署Zabbix

大致了解了Zabbix的架构和工作流程之后,我们试着搭建一套Zabbix监控系统。

在一台机器上可以安装Zabbix所有的组件,这里我拿两台机器来做实验,其中IP为192.168.33.128作为Zabbix服务端,192.168.33.129作为客户端。

zabbix-server		192.168.33.128

zabbix-agent		192.168.33.129

安装Zabbix

  • 服务端安装Zabbix:
# cd /usr/local/src/

# wget https://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm

# rpm -ivh zabbix-release-3.4-2.el7.noarch.rpm

# yum list |grep zabbix				#列出与zabbix相关可用的包

安装Zabbix,需要安装的包有zabbix-agent、zabbix-get、zabbix-server-mysql、zabbix-web、zabbix-web-mysql。各个包的作用如下:

zabbix-agent:客户端程序
zabbix-get:服务器上命令行获取客户端检测项目的工具
zabbix-server-mysql:zabbix-server MySQL版
zabbix-web:web界面
zabbix-web-mysql:web界面MySQL相关

  • yum安装上面所有包:
会连带安装httpd和PHP,如果mysql没安装,需要另外安装

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

配置Nginx

默认httpd中Zabbix的配置文件是/etc/httpd/conf.d/zabbix.conf,该配置文件定义了Zabbix的web界面程序程序所在路径。如果是线上的机器,并且安装了nginx,我们可以让httpd监听8080端口,然后让nginx去代理httpd。

  • 修改httpd.conf使httpd监听8080端口:
# vim /etc/httpd/conf/httpd.conf
Listen 80				#改为 Listen 8080

# systemctl start httpd

# netstat -lntp |grep httpd
tcp6       0      0 :::8080                 :::*                    LISTEN      2099/httpd

# systemctl enable httpd				#开机启动httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
  • 然后创建nginx的虚拟主机配置文件:
# vim /usr/local/nginx/conf/vhost/zabbix.conf				#写入下面内容
server
{
   
    listen 80;
    server_name 192.168.33.128;				#把zabbix服务端的IP作为主机名

    location /
    {
   
        proxy_pass      http://192.168.33.128:8080/;
        proxy_set_header Host   $host;
        proxy_set_header X-Real-IP      $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

# /usr/local/nginx/sbin/nginx -t				#检查上面配置是否正确
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

# /usr/local/nginx/sbin/nginx -s reload				#重载配置

配置MySQL

Zabbix需要MySQL的支持,如果机器上还没有安装MySQL,可以根据之前讲过的内容安装。
接下来就是配置MySQL。

  • 编辑mysql配置文件:
# vim /etc/my.cnf				#在[mysql]模块下面增加下面内容
character_set_server = utf8

[root@localhost src]# /etc/init.d/mysqld start				#重启mysql服务
Starting MySQL SUCCESS! 

# mysql -uroot -S /tmp/mysql.sock -p123456				#进入mysql

mysql> create database zabbix character set utf8;				#创建zabbix库,字符集为UTF-8,不要忘记末尾分号
Query OK, 1 row affected (0.00 sec)

mysql> grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'lzxlzx';				#创建zabbix用户并授权
Query OK, 0 rows affected (0.01 sec)

mysql> quit 
  • 导入zabbix相关的数据:
# cd /usr/share/doc/zabbix-server-mysql-3.4.11/

# gzip -d create.sql.gz 

# mysql -uroot -S /tmp/mysql.sock -p123456 zabbix < create.sql				#导入mysql
Warning: Using a password on the command line interface can be insecure.

# systemctl enable httpd				#开机启动httpd
  • 修改zabbix-server的配置文件后启动服务:
# vim /etc/zabbix/zabbix_server.conf				#增加下面内容
DBHost=127.0.0.1
DBPassword=lzxlzx

# systemctl start zabbix-server				#启动zabbix-server服务

# systemctl enable zabbix-server				#开机启动zabbix-server服务
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-server.service to /usr/lib/systemd/system/zabbix-server.service.

# netstat -lntp |grep zabbix				#检查zabbix-server服务,
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值