保障训练-20201019

5.10 监控介绍
5.11/5.12 安装zabbix4.0
5.13 监控客户机-添加主机
5.14 监控客户机-管理模板

一、监控介绍

1、监控存在的原因

站点出了问题,没有人知道,等用户发现了,才提醒供应商;对公司影响很大

2、常见开源监控软件

cacti、nagios、zabbix、smokeping、open-falcon等等,其中nagios、zabbix流行度非常高;

cacti、smokeping偏向于基础监控,成图非常漂亮,适合监控网络设备 cacti监控网络的设备;

cacti、nagios、zabbix服务端监控中心,需要php环境支持(用Apache的php,用nginx的php都可以),其中zabbix和cacti都需要mysql作为数据存储,nagios不用存储历史数据,注重服务或者监控项的状态,zabbix会获取服务或者监控项目的数据,会把数据记录到数据库里,从而可以成图

3、目前业界都流行用zabbix。

zabbix配置简单,优势明显,早起使用nagios的企业,慢慢的转向使用zabbix;

nagios,需要更改配置文件,并不支持web界面一键执行,nagios和zabbix相比,nagios 更注重的是某一个监控的状态,不关注历史;

zabbix,则是把每一次监控的数值反馈出来,数值存到数据库里面,方便后期数据图去分析监控整个状态;

nagios不需要mysql的支持,不能成图,若需要画图,得安装插件以后才支持web界面;

ccti 也需要mysql的支持,也可以成图,可以记录历史数据

zabbix 在web界面下管理得非常彻底,可以增加监控节点,报警预知等等。

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

open-falcon软件适合大企业使用,小企业可以去研究它的思想。

监控软件比较新的: prometheus grafana

二、安装zabbix4.0

zabbix监控介绍

1、zabbix简介

C/S架构,有一个服务端,去客户端抓数据。在客户端必须要有一个服务启动运行才可以抓取数据;数据可以主动的上报服务端,也可以让服务端去连接客户端获取(通过抓取数据方式,数据获取分两个模式,一个主动模式,一个被动模式),

zabbix软件基于C++开发,监控中心需要一个PHP的web环境,因为要开启一个web界面配置和管理 单台server节点(即一台server),理论上 可以支持上万台客户端

2、zabbix瓶颈:

在于采集数据的量,虽然支持上万台,但监控的项目过多,还是会导致zabbix效率降低;所以,当服务器大到一定规模的时候,就需要对zabbix进行优化;

解决方法:可以增加一些代理点,这些代理点充当server,替代server去采集数据,最终得到分析结果再汇报给主服务端server;

3、zabbix架构里,包括了5个组件:

zabbix-server 监控中心,接收客户端上报信息,负责配置、统计、操作数据

数据存储 存放数据,比如mysql

web界面 也叫web UI,在web界面下操作配置是zabbix简单易用的主要原因(如果没有web界面,就无法在浏览器上配置它)

zabbix-proxy 可选组件,它可以代替zabbix-server的功能,减轻server的压力(当机器量很多的时候,可以使用zabbix-proxy)

有时候,服务器分布在多个机房里,每个机房的服务器之间都是一个单独的内网,这时候就可以在某一个局域网里搭建一个 zabbix-proxy ,用这台 proxy 去监控局域网里的机器

zabbix-agent 客户端软件(每一台客户端都需要安装agent),负责采集各个监控服务或项目的数据,并上报。

在这里插入图片描述
zabbix监控安装

ying01安装

下载官方提供的repo源

[root@ying01 ~]# rpm -i https://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
警告:/var/tmp/rpm-tmp.4JVpyA: 头V4 RSA/SHA512 Signature, 密钥 ID a14fe591: NOKEY

[root@ying01 ~]# ls /etc/yum.repos.d/zabbix.repo //查看下载的repo源
/etc/yum.repos.d/zabbix.repo

用yum安装zabbix相关的包

[root@ying01 ~]# yum install -y zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql

安装包释义:
zabbix-agent //客户端软件
zabbix-get //服务端用的一个工具,这个工具可以通过命令行的形式,获得客户端某些监控项目的数据
zabbix-server-mysql //这个是服务端跟mysql打交道相关的组件
zabbix-web //webUI ,web界面
zabbix-web-mysql //web和mysql相关组件

数据库设置

zabbix 是基于php环境的,也就是说用的是php 的代码编写的web界面,也就说这个zabbix相当于一个站点 需要安装mysql;

在mysql配置文件添加以下语句;

[root@ying01 ~]# vim /etc/my.cnf
character_set_server = utf8 //目的支持zabbix的web界面显示中文

重启mysql,进入mysql;

[root@ying01 ~]# mysql -uroot -pyinglinux //进入mysql


mysql> create database zabbix character set utf8; //创建zabbix数据库,并设置utf8
Query OK, 1 row affected (0.00 sec)

mysql> grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'ying-zabbix';
Query OK, 0 rows affected (0.00 sec) //创建用户,以及登录密码

mysql> quit
Bye

创建的用户是需要让web(php)代码连接mysql的,监控中心zabbix mysql服务,启动的前提就是要连接mysql;
客户端采集了数据,需要把这些数据传递给服务端,那么服务端怎么把这些数据写入到MySQL去,这时就涉及到了mysql 的用户,涉及到了mysql 的数据库;用哪一个用户,去写入那一个库。

给新建的zabbix库,导入原始的数据;

[root@ying01 ~]# cd /usr/share/doc/zabbix-server-mysql-3.2.11/
[root@ying01 zabbix-server-mysql-3.2.11]# ls
AUTHORS ChangeLog COPYING create.sql.gz NEWS README
[root@ying01 zabbix-server-mysql-3.2.11]# gzip -d create.sql.gz //解压包
[root@ying01 zabbix-server-mysql-3.2.11]# ls
AUTHORS ChangeLog COPYING create.sql NEWS README
[root@ying01 zabbix-server-mysql-3.2.11]# mysql -uroot -pyinglinux zabbix < create.sql //导入zabbix库
Warning: Using a password on the command line interface can be insecure.
[root@ying01 zabbix-server-mysql-3.2.11]# cd

启动zabbix-server前,需要排查80端口是不是被占用,因为80端口需要给httpd用;

[root@ying01 ~]# systemctl start zabbix-server
[root@ying01 ~]# ps aux |grep zabbix //zabbix没有完全启动
zabbix 2573 0.0 0.1 254628 3496 ? S 13:54 0:00 /usr/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf
root 2581 0.0 0.0 112720 984 pts/0 S+ 13:54 0:00 grep --color=auto zabbix
[root@ying01 ~]# ps aux |grep nginx //nginx占用80端口
root 988 0.0 0.0 45832 1272 ? Ss 11:44 0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nobody 989 0.0 0.2 48184 3900 ? S 11:44 0:00 nginx: worker process
nobody 992 0.0 0.2 48184 3900 ? S 11:44 0:00 nginx: worker process
root 2585 0.0 0.0 112724 980 pts/0 S+ 13:55 0:00 grep --color=auto nginx
[root@ying01 ~]# /etc/init.d/nginx stop //关闭ngnix服务
Stopping nginx (via systemctl): [ 确定 ]
[root@ying01 ~]# !ps
ps aux |grep nginx
root 2610 0.0 0.0 112720 984 pts/0 S+ 13:55 0:00 grep --color=auto nginx

在zabbix_server配置文件中,按下面设置

[root@ying01 ~]# vim /etc/zabbix/zabbix_server.conf

DBHost=127.0.0.1 //添加的

DBName=zabbix //配置文件中的参照位置

DBUser=zabbix //配置文件中的参照位置
DBPassword=ying-zabbix //添加的

注意:

      mysql和zabbix装在同一台机器上,这里的 DBHost可以写localhost或者127.0.0.1;

      如果是在生产环境上,有时候为了提升zabbix的性能,可能会把MySQL装在其他机器上,这是的DBHost,就需要写上mysql的ip

重启zabbix-server服务,并查看端口100051,说明zabbix-server完全启动了

[root@ying01 ~]# systemctl restart zabbix-server

[root@ying01 ~]# ps aux |grep zabbix //查看进程,此处省略

[root@ying01 ~]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 586/rpcbind
tcp 0 0 0.0.0.0:37584 0.0.0.0:* LISTEN 844/rpc.statd
tcp 0 0 0.0.0.0:20048 0.0.0.0:* LISTEN 845/rpc.mountd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 661/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 801/master
tcp 0 0 0.0.0.0:42272 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 3009/zabbix_server
tcp6 0 0 :::42925 :::* LISTEN -
tcp6 0 0 :::111 :::* LISTEN 586/rpcbind
tcp6 0 0 :::80 :::* LISTEN 2652/httpd
tcp6 0 0 :::20048 :::* LISTEN 845/rpc.mountd
tcp6 0 0 :::39733 :::* LISTEN 844/rpc.statd
tcp6 0 0 :::22 :::* LISTEN 661/sshd
tcp6 0 0 ::1:25 :::* LISTEN 801/master
tcp6 0 0 :::2049 :::* LISTEN -
tcp6 0 0 :::10051 :::* LISTEN 3009/zabbix_server
tcp6 0 0 :::3306 :::* LISTEN 2084/mysqld

web测试:
在浏览器输入:192.168.112.136/zabbix/,出现zabbix监控主页

在这里插入图片描述
进入下一步,发现页面有,php的timezone时区,状态为 fail

在这里插入图片描述
进入php的配置文件;给它定义时区

[root@ying01 ~]# vim /etc/php.ini
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Shanghai //定义时区为 上海

重启httpd服务(php是httpd的一个模块存在)

[root@ying01 ~]# systemctl restart httpd

此时刷新后,状态显示,全部为OK

在这里插入图片描述
点击下一步,进入简单设置,按下图设置;

在这里插入图片描述
点击下一步,填写端口10051,name自定义

在这里插入图片描述
下一步,你设置的信息会全部显示出来;

在这里插入图片描述
点击下一步,出现设置成功页面;

在这里插入图片描述
在菜单栏点击 Administration ,然后选择 Users;

在这里插入图片描述
进入新页面,设置密码,并选择中文;

在这里插入图片描述
退出登录,输入新密码登录;

在这里插入图片描述
刷新浏览器,此时显示为中文;

在这里插入图片描述
客户机 ying02 :
同样需要在客户机安装repo源,只是只需要yum安装zabbix-agent

[root@ying02 ~]# rpm -i https://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
警告:/var/tmp/rpm-tmp.4JVpyA: 头V4 RSA/SHA512 Signature, 密钥 ID a14fe591: NOKEY
[root@ying02 ~]# cat /etc/yum.repos.d/
cat: /etc/yum.repos.d/: 是一个目录
[root@ying02 ~]# ls /etc/yum.repos.d/
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo epel-testing.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo epel.repo zabbix.repo
[root@ying02 ~]#
[root@ying02 ~]# yum install -y zabbix-agent

编辑zabbix_agentd配置文件;

[root@ying02 ~]# vim /etc/zabbix/zabbix_agentd.conf

Server=127.0.0.1 改为 Server=192.168.112.136 //定义服务端的ip(被动模式)

ServerActive=127.0.0.1 改为 ServerActive=192.168.112.136 //不填写服务端的IP,那么就只能使用被动模式;

Hostname=Zabbix server 改为 Hostname=ying02 //自定义主机名

启动zabbix_agentd服务,并查看其端口为10050

[root@ying02 ~]# systemctl start zabbix-agent
[root@ying02 ~]# ps aux |grep zabbix
zabbix 3117 0.0 0.0 80776 1280 ? S 15:36 0:00 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
zabbix 3118 0.0 0.0 80776 1368 ? S 15:36 0:00 /usr/sbin/zabbix_agentd: collector [idle 1 sec]
zabbix 3119 0.0 0.0 80776 1844 ? S 15:36 0:00 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
zabbix 3120 0.0 0.0 80776 1844 ? S 15:36 0:00 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]
zabbix 3121 0.0 0.0 80776 1844 ? S 15:36 0:00 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]
zabbix 3122 0.0 0.1 80908 2228 ? S 15:36 0:00 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
root 3128 0.0 0.0 112720 984 pts/0 R+ 15:36 0:00 grep --color=auto zabbix
[root@ying02 ~]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 568/rpcbind
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 936/nginx: master p
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 835/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1043/master
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 3117/zabbix_agentd
tcp6 0 0 :::111 :::* LISTEN 568/rpcbind
tcp6 0 0 :::22 :::* LISTEN 835/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1043/master
tcp6 0 0 :::10050 :::* LISTEN 3117/zabbix_agentd

[root@ying02 ~]# systemctl enable zabbix-agent //设置开机启动
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-agent.service to /usr/lib/systemd/system/zabbix-agent.service.

三、监控客户机-添加主机

在菜单栏 点设置——主机群设置 ,设置群名 ying-test

在这里插入图片描述
选择 设置——主机——创建主机,群组选择之前刚设置好的ying-test

在这里插入图片描述
选择 设置——主机——创建模板,名字自定义;

在这里插入图片描述
点击 链接的模板 按图选择好模板;

在这里插入图片描述
点 主机——ying02——模板,选择链接模板 ying

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值