Linux监控平台介绍、zabbix监控介绍、安装zabbix、忘记Admin密码如何做、主动模式和被动模式,添加监控主机、添加自定义模板、处理图形中的乱码、自动发现、添加自定义监控项目、配置邮件告警

1、Linux监控平台介绍

  • 监控存在的原因:站点出了问题,没有人知道,等用户发现了,才提醒供应商;对公司影响很大
  • 常见的开源监控软件有:cacti、nagios、zabbix、smokeping、open-falcon等
  • cacti、smokeping偏向于基础监控,成图非常漂亮,适合监控网络设备
  • cacti、nagios、zabbix服务端监控中心,需要php环境支持(用Apache的php,用nginx的php都可以),其中zabbix和cacti都需要mysql作为数据存储,nagios不用存储历史数据,注重服务或者监控项的状态,zabbix会获取服务或者监控项目的数据,会把数据记录到数据库里,从而可以成图
  • pen-falcon为小米公司开发,开源后受到诸多大公司和运维工程师的追捧,适合大企业,滴滴、360、新浪微博、京东等大公司在使用这款监控软件,值得研究;open-falcon软件适合大企业使用,小企业可以去研究它的思想
  • 因为zabbix配置简单,优势明显,早起使用nagios的企业,慢慢的转向使用zabbix;
  • nagios,需要更改配置文件,并不支持web界面一键执行,nagios和zabbix相比:
  • nagios 更注重的是某一个监控的状态,不关注历史;
  • zabbix,则是把每一次监控的数值反馈出来,数值存到数据库里面,方便后期数据图去分析监控整个状态;
  • nagios不需要mysql的支持,不能成图,若需要画图,得安装插件以后才支持web界面;
  • ccti 也需要mysql的支持,也可以成图,可以记录历史数据
  • zabbix 在web界面下管理得非常彻底,可以增加监控节

2、zabbix监控介绍

  • 主流有3.2版本,最新的是3.4版本;更新快,使用的用户多;
  • C/S架构,基于C++开发,监控中心支持web界面配置和管理
  • zabbix软件,是C/S架构:有一个服务端,去客户端抓数据。在客户端必须要有一个服务启动运行才可以抓取数据;数据可以主动的上报服务端,也可以让服务端去连接客户端获取(通过抓取数据方式,数据获取分两个模式,一个主动模式,一个被动模式),zabbix软件基于C++开发,监控中心需要一个PHP的web环境,因为要开启一个web界面配置和管理
  • 单台server节点(即一台server),理论上 可以支持上万台客户端
  • 瓶颈:在于采集数据的量,虽然支持上万台,但监控的项目过多,还是会导致zabbix效率降低;所以,当服务器大到一定规模的时候,就需要对zabbix进行优化
  • 解决方法:可以增加一些代理点,这些代理点充当server,替代server去采集数据,最终得到分析结果再汇报给主服务端server

zabbix包含有五个组件:

  1. zabbix-server 监控中心,接收客户端上报信息,负责配置、统计、操作数据
  2. 数据存储 存放数据,比如mysql
  3. web界面 也叫web UI,在web界面下操作配置是zabbix简单易用的主要原因(如果没有web界面,就无法在浏览器上配置它)
  4. zabbix-proxy 可选组件,它可以代替zabbix-server的功能,减轻server的压力(当机器量很多的时候,可以使用zabbix-proxy)
  • 有时候,服务器分布在多个机房里,每个机房的服务器之间都是一个单独的内网,这时候就可以在某一个局域网里搭建一个 zabbix-proxy ,用这台 proxy 去监控局域网里的机器
  1. zabbix-agent 客户端软件(每一台客户端都需要安装agent),负责采集各个监控服务或项目的数据,并上报

zabbix监控流程图:

Linux监控平台介绍、zabbix监控介绍、安装zabbix、忘记Admin密码如何做、主动模式和被动模式,添加监控主机、添加自定义模板、处理图形中的乱码、自动发现、添加自定义监控项目、配置邮件告警_第1张图片3、安装zabbix

  • 官网下载地址:https://www.zabbix.com/download

准备工作

  • 两台机器,一台作为服务端(监控中心),另外一台作为它的客户端

  • zabbix,可以直接yum安装,但需要安装epel扩展源,在epel扩展源里面安装的zabbix的版本,最高是2.2版本,比较旧,所以使用官方提供的repo源

  • 在两台机器都需要下载:wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm

[root@aminglinux ~]#wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
  • 下载完之后,安装rpm包:rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm
[root@aminglinux ~]#rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm
  • 查看/etc/yum.repos.d/目录下面会看到增加了一个zabbix.repo
[root@aminglinux ~]# 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@aminglinux ~]# cat /etc/yum.repos.d/zabbix.repo
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=http://repo.zabbix.com/zabbix/3.2/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch 
baseurl=http://repo.zabbix.com/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1

yum安装zabbix

  • 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-agent 包
A机器
[root@aminglinux ~]# yum install -y zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql

B机器
[root@localhost ~]# yum install -y zabbix-agent
  • 安装mysql(之前已经安装,没有yum安装)
[root@aminglinux ~]# ps aux|grep mysql
root      1039  0.0  0.1 115428  1716 ?        S    22:17   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/aminglinux.pid
mysql     1254  0.9 44.8 981304 452500 ?       Sl   22:17   0:08 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/aminglinux.err --pid-file=/data/mysql/aminglinux.pid --socket=/tmp/mysql.sock
root      1418  0.0  0.0 112720   984 pts/0    S+   22:33   0:00 grep --color=auto mysql
  • 修改mysql的配置文件,修改/etc/my.cnf文件,设定默认的字符集,使web界面支持中文不会乱码;
[root@aminglinux ~]#vim /etc/my.cnf
在[mysqld]下添加字符集

character_set_server = utf8
  • 重启mysql服务:/etc/init.d/mysqld restart
[root@aminglinux ~]# /etc/init.d/mysqld restart
Shutting down MySQL.. SUCCESS! 
Starting MySQL...... SUCCESS!
  • 建立zabbix的mysql库和访问用户:
[root@aminglinux ~]# mysql -uroot -p123456
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.35-log MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

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 '123456'; //创建用户zabbix,写入123456库
Query OK, 0 rows affected (0.01 sec)

mysql> quit
Bye
  • 导入原始数据到zabbix库:自带库数据在/usr/share/doc/zabbix-server-mysql-3.2.11/ 目录下
[root@aminglinux ~]#  cd /usr/share/doc/zabbix-server-mysql-3.2.11/
[root@aminglinux zabbix-server-mysql-3.2.11]# ls
AUTHORS  ChangeLog  COPYING  create.sql.gz  NEWS  

你可能感兴趣的:(Linux监控平台介绍、zabbix监控介绍、安装zabbix、忘记Admin密码如何做、主动模式和被动模式,添加监控主机、添加自定义模板、处理图形中的乱码、自动发现、添加自定义监控项目、配置邮件告警)