监控的作用

我们的职责
   1.保障企业数据的安全可靠。
   2.为客户提供7*24小时服务。
   3.不断提升用户的体验。
在关键时刻,提前提醒我们服务器要出问题了
当出问题之后,可以便于找到问题的根源

远程管理服务器有远程管理卡,比如Dell idRAC,HP ILO,IBM IMM
查看硬件的温度/风扇转速,电脑有撸大师,服务器就有ipmitool。使用ipmitool实现对服务器的命令行远程管理
yum -y install OpenIPMI ipmitool IPMI在物理机可以成功,虚拟机不行
CPU性能好不好、忙不忙可以用lscpu、uptime、top、htop。
内存够不够可以用free
磁盘剩多少写的快不快可以用df、dd、iotop
网络太卡找iftop, nethogs

yum install iftop htop iotop -y

监控工具总览

mrtg 流量监控出图
nagios 监控
cacti 流量监控出图
zabbix 监控+出图,所有监控范畴,都可以整合到Zabbix中。
硬件监控:Zabbix IPMI Interface
系统监控:Zabbix Agent Interface
Java监控:Zabbix JMX Interface
网络设备监控:Zabbix SNMP Interface
应用服务监控:Zabbix Agent UserParameter
MySQL数据库监控:percona-monitoring-plulgins
URL监控:Zabbix Web 监控

 zabbix介绍

官网:http://www.zabbix.com/
 
zabbix(音同 zæbix)是一个基于WEB界面的,提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

 环境检查

从CentOS7模板机全新克隆一台新主机
IP规划为10.0.0.61/172.16.1.61,主机名为m01
注册账号:http://c.onealert.com/console//ucid/regist.jsp  (用来接收报警信息)

 安装zabbix服务端

# 安装Zabbix官方源
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

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

yum makecache fast

# 安装zabbix,httpd,php
yum install zabbix-server-mysql zabbix-web-mysql httpd php -y

安装yum数据库

# 安装mariadb
yum -y install mariadb-server
systemctl start mariadb.service
# 创建数据库,权限
mysql
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
exit
# 导入数据库sql文件 注意版本问题  目录和版本号一致
# zcat /usr/share/doc/zabbix-server-mysql-3.4.11/create.sql.gz|mysql -uzabbix -pzabbix zabbix

查看

mysql

use zabbix;

show tables;

======================================================

配置zabiix server

# 配置zabbix Server连接mysql
sed -i.ori '115a DBPassword=zabbix' /etc/zabbix/zabbix_server.conf
# 修改apache-php配置
sed -i.ori '18a php_value date.timezone Asia/Shanghai' /etc/httpd/conf.d/zabbix.conf

或用vim  # vim /etc/zabbix/zabbix_server.conf

# vim /etc/httpd/conf.d/zabbix.conf

启动Zabbix Server

systemctl start zabbix-server
systemctl start httpd

一次多个# systemctl start httpd.service  zabbix-server.service

开机启动# systemctl enable httpd.service zabbix-server.service

检查# systemctl status httpd.service  zabbix-server.service

 网页配置

输入 http://10.0.0.61/zabbix

默认端口服务端10050 客户端10051

标签名字

填入的信息

完成 服务创建了一个/etc/zabbix/web/zabbix.conf.php

以后修改配置的文件 登陆的默认账户和密码Admin    zabbix

修改中文和登陆密码 主题等

============================================================

 客户端安装  zabbix agent 监控自己

所有需要被监控的服务器都要执行下面步骤,下面以在m01和cache01安装客户端为例:
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

安装阿里云的zabiix源# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm

yum install zabbix-agent

sed修改配置文件sed -i.ori 's#Server=127.0.0.1#Server=172.16.1.61#' /etc/zabbix/zabbix_agentd.conf

或# vim /etc/zabbix/zabbix_agentd.conf

确认

启动systemctl start zabbix-agent.service

=============================================================

查看web页面

仪表盘  和  最新数据 图形

最新数据选择主机 默认创建有zabbix server 应用

测试现在还没有数据是因为还没有启动

# 只能在服务端m01操作,需要使用-s执行相应客户端IP

先确认m01主机能够找到客户的数据使用命令zabbix-get  默认没有yum安装
yum install zabbix-get

# zabbix_get -s 172.16.1.61 -p10050 -k 'agent.ping'

查看客户端是否可用

-p指定端口 默认客户端为10050

-k指定模块 agent.ping 看客户端是否活着 1 就是活着

zabbix_get -s 172.16.1.61 -p 10050 -k "system.cpu.load[all,avg1]"
zabbix_get -s 172.16.1.21 -p 10050 -k "system.cpu.load[all,avg1]"

===================================================

默认的zabbix server 点击启用等待 让等待加快-让系统的主机名解析

以后其他服务器的主机名也在服务端做解析

zabbix日志文件# tail -f /var/log/zabbix/zabbix_server.log

可用性ZBX为红色

点击zabbix server 修改代理为172.16.1.61 自己监控自己

现在有数据了

但有些图形会出现乱码 字体 原因

解决中文乱码

单独安装字体

yum -y install wqy-microhei-fonts

复制替换新的字体到原字体文件夹中

\cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

======================================================

在zabbix中添加新的主机

新装的服务器加入到zabbix监控中

先添加web01  zabbix镜像

# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/6/x86_64/zabbix-release-3.4-1.el6.noarch.rpm

# yum install zabbix-agent -y

修改97行 地址为服务端ip  172.16.1.61

# vim /etc/zabbix/zabbix_agentd.conf

设置开机启动 这是 6 系统

# chkconfig zabbix-agent on

# /etc/init.d/zabbix-agent  restart  重启

服务端检查 服务运行状态

# systemctl is-active  httpd.service mariadb.service zabbix-server.service zabbix-agent.service

服务端设置开机启动 7 系统

# systemctl enable  httpd.service mariadb.service zabbix-server.service zabbix-agent.service

再检查服务能否接通客户端 172.16.1.7 值为1 正常

# zabbix_get -s 172.16.1.7 -p10050 -k "agent.ping"

========================================

在web添加

配置  主机  创建主机

主机

模板

搜索里输入linux 选择Template OS Linux

先点击下面的添加  再点击最下面的添加

要监控的最好在服务端添加解析

添加成功

====================================================

动手添加cache  mysql

服务端配置好解析

=============================================================

自定义监控(制作模板)

zabbix 监控的数据来源是模板里的键值 相当于命令来实现的

# zabbix_get -s 172.16.1.7 -p10050 -k "system.hostname"
web01

# zabbix_get -s 172.16.1.7 -p10050 -k "agent.ping"
1

zabbix自带模板Template OS Linux (Template App Zabbix Agent)提供CPU、内存、磁盘、网卡等常规监控,

只要新加主机关联此模板,就可自动添加这些监控项。

需求:服务器登录人数不超过3人,超过3人报警

who命令显示登录用户

who|wc -l  得到登录数

userparameter_mysql.conf 文件就是用户自定义key的文件

# ll /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
自定义key能被server和agent认可

 在web01的agent中注册key  键值

语法:key名字要唯一,多个key以行为分割
UserParameter=<key>,<shell command>  key相当于变量  后面的就是命令或者脚本
UserParameter=login-user,who|wc -l          逗号两边没有空格
UserParameter=login-user,/bin/sh /server/scripts/login.sh

# cd /etc/zabbix/zabbix_agentd.d/
# vim userparameter_login.conf
UserParameter=login-user,who|wc -l

# 修改配置文件要重启
# systemctl restart zabbix-agent.service

# 在server检测 能否获取数据
# zabbix_get -s 172.16.1.21 -p 10050 -k "login-user"

创建完键值 然后在server上注册 (web操作)

1 创建模板
2 创建应用集:给监控项分类
3 创建监控项(item):监控的内容   -----核心
4 创建触发器:当监控项获取到的值 达到一定条件时 就触发报警
5 创建图形
6 主机关联模板

配置---模板---创建模板

配置 应用集、监控项、触发器、图形

应用集---创建应用集   相当于分类

监控项---创建监控项    键值是在客户端创建

触发器---创建触发器

图形---创建图形

测试 登录超过3个用户,收到提示报警

=========================================================

添加报警

登陆网站:http://www.onealert.com/index.html 注册

在网站菜单栏  配置---应用---创建key

查找安装目录

# grep -i alertscripts /etc/zabbix/zabbix_server.conf

# cd /usr/lib/zabbix/alertscripts

# wget http://www.onealert.com/agent/release/oneitsm_zabbix_release-1.2.0.tar.gz

# cd oneitsm/bin/

# bash install.sh 710e4dbd-f519-8526-0176-825f8d1b3820   网站创建的key

提示输入地址 账号 密码

安装完成 配置消息 web zabbix

点击  管理---报警媒介类型

默认安装过后就配置好了

配置动作

默认发送消息给用户  一般不用配置

在http://c.onealert.com网站 配置策略

分配策略  消息就分配给自己

 通知策略  微信需要绑定公众号

测试  邮件和微信都能收到系统报警!!!

=====================================================

监控图形可视化

聚合图形--创建聚合图形--编辑聚合图形

创建完成

先有聚合图形然后   幻灯片演示--创建幻灯片播放

完成!

查找别人做好的模板

https://share.zabbix.com/

==========================================================

模板的共享: https://github.com/zhangyao8/zabbix-community-repos
主机的共享

==========================================================

全网监控方案

考试目标:使用zabbix将期中架构所有集群监控

具体内容:
一、硬件、系统、网络监控
所有集群节点(所有虚拟机)都监控上

二、应用服务监控
1. 监控备份服务器,简单方法是监控rsync端口,如果有其他更佳方案可以说明;
2. 监控NFS服务器,使用监控NFS进程来判断NFS服务器正常,如果有其他更佳方案可以说明;
3. 监控MySQL服务器,简单方法监控mysql的3306端口,或者使用zabbix提供的Mysql模板,如果有其他更佳方案可以说明;
4. 监控2台web服务器,简单方法监控80端口,如果有其他更佳方案可以说明;
5. 监控URL地址来更精确的监控我们的网站运行正常;
6. 监控反向代理服务器,PPTP服务器等你在期中架构部署的服务。
7. 监控Nginx的7种连接状态。

========================================================

监控端口和进程 zabbix里自带就有

配置--模板--监控项--选择下面的键值--[键值]选择

监控端口连接情况  < >  内的内容可以省略

# zabbix_get -s 172.16.1.7 -p10050 -k "net.tcp.port[,80]"

1

监控进程 不写参数默认返回所有进程数

# zabbix_get -s 172.16.1.7 -p10050 -k "proc.num[]"
89

监控nginx 进程

# zabbix_get -s 172.16.1.7 -p10050 -k "proc.num[nginx]"
2

监控定时任务crond

# zabbix_get -s 172.16.1.7 -p10050 -k "proc.num[crond]"
1

==============================================================

监控网站

====================================================

自动发现与自动注册

自动发现:zabbix Server主动发现所有客户端,然后将客户端登记自己的小本本上,

缺点zabbix server压力山大(网段大,客户端多),时间消耗多。服务器少使用

自动注册:zabbix agent主动到zabbix Server上报到,登记;

缺点agent有可能找不到Server(配置出错)服务器多使用

被动模式:默认,都是站在agent的立场上说话,agent被server抓取数据
主动模式:都是站在agent的立场上说话,agent主动的将数据发送给Server

两种模式都是在agent上的配置文件配置的

自动发现

第一步:zabbix Server安装完毕 (完成)
第二步:zabbix agent安装完毕,Server=172.16.1.61 (完毕)
第三步:网页上配置自动发现规则

自动发现

配置---自动发现---编辑已有的或者创建新的

[查看]     监控中---自动发现

=========================================================

找到了主机 还要 配置动作

配置---动作---[事件源]选自动发现---修改默认 或 创建新动作+操作

克隆默认 然后修改默认,新的触发条件不需要修改自动注册有条件

编辑操作

做好主机解析

========================================================

测试 已添加进来 web02

========================================================

 自动注册  

使用自动注册前先关掉  自动发现和动作

第一步:zabbix Server安装完毕 (完成)
第二步:zabbix agent安装完毕,需要额外增加的配置
vim /etc/zabbix/zabbix_agentd.conf
ServerActive=172.16.1.61  修改自动注册服务端的ip

# Hostname=Zabbix server 和HostnameItem 配置其一就可以了

HostnameItem=system.hostname  作用是服务端用来获取主机名的

HostMetadata=system.uname  源数据  数据的属性

6的系统重启

# /etc/init.d/zabbix-agent  restart

7系统systemctl restart zabbix-agent.service
netstat -tunlp|grep zabbix

第三步:Server上做hosts解析
echo "172.16.1.21 cache01" >> /etc/hosts

第四步:网页上配置自动注册

配置---动作---[自动注册]创建自动注册  编辑动作和操作

主机没有添加上,等候时间

五 Zabbix全网监控的更多相关文章

  1. zabbix全网监控

    为什么要监控 运维的职责1.保障企业数据的安全可靠.2.为客户提供7*24小时服务.3.不断提升用户的体验. 在关键时刻,提前提醒我们服务器要出问题了 当出问题之后,可以便于找到问题的根源 拿到公司服 ...

  2. 网站集群架构(LVS负载均衡、Nginx代理缓存、Nginx动静分离、Rsync+Inotify全网备份、Zabbix自动注册全网监控)--技术流ken

    前言 最近做了一个不大不小的项目,现就删繁就简单独拿出来web集群这一块写一篇博客.数据库集群请参考<MySQL集群架构篇:MHA+MySQL-PROXY+LVS实现MySQL集群架构高可用/高 ...

  3. 分布式系统监视zabbix讲解五之web监控--技术流ken

    Web 监控 概况 你可以使用 Zabbix 检查几个网站可用性方面. 如果要使用 Web 检测功能,必须在 编译Zabbix 的时候加入 cURL(libcurl) 的支持. 要使用 Web 监控, ...

  4. 分布式系统监视zabbix讲解五之web监控

    Web 监控 概况 你可以使用 Zabbix 检查几个网站可用性方面. 如果要使用 Web 检测功能,必须在 编译Zabbix 的时候加入 cURL(libcurl) 的支持. 要使用 Web 监控, ...

  5. zabbix分布式监控部署--技术流ken

    前言 zabbix proxy可以代替zabbix server检索客户端的数据,然后把数据汇报给zabbix server,并且在一定程度上分担了zabbix server的压力.zabbix pr ...

  6. 使用zabbix server监控tomcat实战案例

    使用zabbix server监控tomcat实战案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 大家都知道,zabbix server效率高是使用C语言编写的,有很多应用程序 ...

  7. 使用Ubuntu系统编译安装Zabbix企业级监控系统

    使用Ubuntu系统编译安装Zabbix企业级监控系统   作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Ubuntu系统部署笔记:https://www.cnblogs.com/ ...

  8. Zabbix+Orabbix监控oracle数据库表空间

    Orabbix 是设计用来为 zabbix 监控 Oracle 数据库的插件,它提供多层次的监控,包括可用性和服务器性能指标. 它提供了从众多 oracle 实例采集数据的有效机制,进而提供此信息的监 ...

  9. zabbix企业监控

    第一节.系统初始化 1.前期环境 主机名 IP地址 操作系统 备注 zabbix-10 192.168.2.10 CentOS Linux release 7.4 zabbix服务端 agent-15 ...

随机推荐

  1. Delphi 获取DataSet传入参数后的SQL命令

    ClientDataSet1.CommandText := sSQL;   ClientDataSet1.Params.Clear; ClientDataSet1.CommandText :='SEL ...

  2. Allow Only Ajax Requests For An Action In ASP.NET Core

    ASP.NET Core offers attributes such as [HttpGet] and [HttpPost] that allow you to restrict the HTTP ...

  3. poj-1904(强连通缩点)

    题意:有n个王子,每个王子都有k个喜欢的女生,王子挑选喜欢的女生匹配,然后再给你n个王子最开始就定好的匹配,每个王子输出能够结合且不影响其他王子的女生匹配 解题思路:强连通缩点,每个王子与其喜欢的女生 ...

  4. JetBrain系列IDE提示Filesystem Case-Sensitivity Mismatch的解决

    目录 解决方法 1. 用文本编辑器修改APP包文件中的属性文件(不推荐) 2. 复制或新建属性文件到APP的启动目录,添加对应的属性项(推荐) 解决方法1 1. 用文本编辑器修改APP包文件中的属性文 ...

  5. Java 中数字和字符串拼接的问题

    注意细节 字符是char 类型,字符串是String 类型1.数字拼接char,得到的还是数字,相当于和它的ASCII编码相加(如果定义成String 会编译错误)2.数字拼接String,得到的是S ...

  6. emwin之创建窗口与窗口回调函数的句柄是一致的

    @2019-04-28 [小记] 由函数GUI_CreateDialogBox 创建的窗口所返回的句柄与回调函数形参中的窗口句柄参数是一样的

  7. python之路day12--装饰器的进阶

    装饰器# 开发原则:开发封闭原则# 装饰器的作用:在不改变原函数的调用函数下,在函数的前后添加功能.# 装饰器的本质:闭包函数 import time def timmer(f): #func #ti ...

  8. 【洛谷P3014】Cow Line

    题目大意:康托展开和逆康托展开模板题. 题解: 注:20!约为 2e18. 代码如下 #include <bits/stdc++.h> using namespace std; const ...

  9. Python并发编程之多线程使用

    目录 一 开启线程的两种方式 二 在一个进程下开启多个线程与在一个进程下开启多个子进程的区别 三 练习 四 线程相关的其他方法 五 守护线程 六 Python GIL(Global Interpret ...

  10. MAC上有哪些优秀的日常软件| 入门级Mac OS 用户必备软件

    本文整理的网友反馈的MAC上有哪些优秀的日常软件+入门级Mac OS 用户必备软件,感兴趣的朋友可以看看,下载下来试用一样便知实不实用.如有更好的推荐,欢迎留言. MAC上有哪些优秀的日常软件 Tim ...