一 基本概念
1)监控目的
1 运行情况
2 提前发现问题
2)监控资源类别
公开 :tcp\udp 端口
私有 :cpu 磁盘
监控一切需要监控的东西,只要能够想到,能够用命令实现的都能用来监控
如果想远程管理服务器就有远程管理卡,比如Dell idRAC,HP ILO,IBM IMM
监控硬件
查看硬件的温度/风扇转速,电脑有鲁大师,服务器就有ipmitool。
使用ipmitool实现对服务器的命令行远程管理
3)自动化监控软件
4)
1 cacti :snmp协议,强大绘图能力
缺点:无报警能力
2 Nagios:基于agent监控,强大状态检查,报警机制
插件多,
缺点:无绘图能力
3 zabbix:二者集合
多种监控机制,支持分布式监控
4) 系统监控命令:
Pstraceroute:路由追踪,到达目标主机经过的路由信息
装包:traceroute
Uptime iostat:查看状态
装包:sysystat
FreeSwapon
Df -h Ifconfig
SsPing
***************************************
部署Zabbix 监控服务
Zbbix介绍
Zbbix简介
1高度集成监控解决方案
2企业级开源分布式
3c/s 模式采集监控数据
4b/s模式实现web管理
、Zabbix简介
a) Zabbix是一个企业级的开源分布式监控解决方案。
b) zabbix 由2部分构成,zabbix server 与可选组件zabbix agent。
c) 支持 SNMP(trapping 及 polling)、 IPMI、 JMX 监控
d) zabbix server 可以通过SNMP,zabbix agent ,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平台之上。(遗憾的是window上暂时不支持)
e) zabbix agent 需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。
zabbix agent 可以运行在Linux ,Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows 2000/2003/XP/Vista)等系统之上。
f) zabbix server 可以单独监视远程服务器的服务状态;同时也可以与zabbix agent 配合,可以轮询zabbix agent 主动接收监视数据(trapping方式),同时还可被动接收zabbix agent 发送的数据(trapping方式)。
g) Zabbix通过C/S模式采集数据,通过B/S模式在web下展示和配置数据。
h) Zabbix server需要运行在lamp(linux+apache+mysql+php)的环境上,apache也可以用ngnix代替
监控对象:snmp
zabbix监控范畴
硬件监控 :Zabbix IPMI Interface
系统监控 :Zabbix Agent Interface
Java 监控:ZabbixJMX Interface
网络设备监抟:Zabbix SNMP Interface
应用服务监控:Zabbix Agent UserParameter
MySQL 数据库监控:percona-monitoring-pldlgins
URL监控:Zabbix Web监控
Zbbix 监控服务部署
1监控服务器
采集数据:snmp /agent
数据写进数据库:oracle MySQL
服务器lnmp 实现web前端管理
2被监控主机
安装agent
支持snmp
1 部署运行环境lnmp
源码安装
yum -y install gcc openssl-devel pcre-devel zlib-devel
Tar -xf nginx 1.12.0.tar.gz
Cd nginx 1.12.0
useradd -s /sbin/nologin nginx
./configure --user=nginx --with-http_ssl_module
make && make install
yum -y install php php-fpm php-mariadb mariadb mariadb-server mariadb-devel
yum -y install php-mysql
vim /usr/local/nginx/conf/nginx.conf
ln -s /usr/local/nginx/conf/nginx.conf /sbin/ 建立软连接
启动服务
systemctl start mariadb
systemctl start php-fpm
/usr/local/nginx/sbin/nginx
vim /usr/local/nginx/html/test.php
<?php$i=33;echo $i;?>curl http://192.168.4.5/test.php
2 源码安装Zabbix
1)yum -y install net-snmp-devel curl-devel libevent-devel
2)cd Zabbix/
3)tar -xf zabbix-3.4.4.tar.gz
4)./configure --enable-server --enable-proxy --enable-agent --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl
5)make install 编译
无需make 步骤了
6)验证查看ls /usr/local/etc/
zabbix_agentd.conf zabbix_proxy.conf zabbix_server.conf
zabbix_agentd.conf.d zabbix_proxy.conf.d zabbix_server.conf.d
ls /usr/local/bin/
eip setip zabbix_get zabbix_sender
ls /usr/local/sbin/
zabbix_agentd zabbix_proxy zabbix_server
3初始化准备
3.1初始化
3.2登录管理界面
3,3启动zabbix 监控服务
初始化
(1)准备存储数据使用的库与数据库账户
Mysql >create database zabbix character utf8;
Mysql> grant all on zabbix.* to zabbix@”localhost” identified by “zabbix”
Cd zabbix /zabbbix-3.4.4/database/mysql
Ls
Data.sql images.sql Schema.sql
Mysql -uzabbix -pzabbix zabbix < schema.sql \images.sql \database
(2)上线zabbix 页面
Cd zabbix-3.4.4/frontends/php/
Cp -a * /usr/local/nginx/html/
Chmod -R 777 /usr/local/nginx/html/*
(3)修改nginx 配置
一定要写在http 里面
Vim /usr/local/nginx/conf/nginx.conf
Fastcgi_buffers 8 16k 缓存php生成的界面内容
Fastcgi_buffer_size 32k 缓存php生成的头部信息
Fastcgi_connect_timeout 300 连接php的超时时间
Fastcgi_send_timeout 300 发送请求的超时时间
Fastcgi_read_timeout 300 读取请求的超时时间
/usr/local/nginx/conf/nginx.conf -s stop
2】停止
关闭nginx系统方式:
(1)命令
当nginx启动后,可以使用“-s”参数向nginx管理进程(即master进程)发送信号来控制nginx:nginx -s signal
[1] stop:快速关闭
[2] quit:安全关闭
[3] reload:重载配置文件
[4] reopen:重新打开一个log文件,主要用于日志
(4)解决依赖
Cd /root/
Yum -y install php-gd php-xml php-idap php-bcmath php-mbstring
(5)修改配置文件
Vim /etc/php.ini
Date.timezone = Asia/shanghai 设置时区
Max_execution_time = 300 最大执行时间 秒
Post_max_size =32M post数据最大容量
Max-input_time = 300 服务器接收数据时间限制
(6)重启服务 systemctl restart php-fpm
初始化配置文件
/usr/local/mginx/html/conf/zabbix.conf.php
打开真机浏览器输入 192.168.4.5/index.php
Password 不记录
2 登录管理界面
管理员: zabbix 初始密码:zabbix
启动zabbix 监控服务
1修改服务主配置文件
vim /usr/local/etc/zabbix_server.conf
Logfile=/temp/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword =zabbix
Useradd zabbix 不创建用户无法启动服务
2启动服务
Zabbix_server
3查看服务信息
Ss -ntulp | grep :10051
[root@zabbixserver ~]# netstat -ntulp | grep :10051
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 23124/zabbix_server
***************************************
部署zabbix 监控平台
1基础监控
1)配置被监控端 192.168.4.100
2)
装包zabbix提供zabbix_agent 服务
Yum -y install gcc pcre-devel
Cd Zabbix
Tar -zvxf zabbix-3.4.4.tar.gz
Cd zabbix-3.4.4/
./configure --enable-agent
Make install
Ls /usr/lolocal/etc/
Ls /usr/local/bin/
Ls /usr/local/sbin/
2)修改主配置文件
Vim /usr/local/etc/zabbix_agentd.conf
Server=127.0.0.1, 192.168.4.5 允许访问服务地址列表
ServerActive=192.168.4.5:10051 监控服务器ip地址
LogFile=/tmp/zabbix_agentd.log 日志文件
3)启动服务
Useradd zabbix
Zabbix_agentd
netstat -ntulp | grep :10050
tcp 0 0 0.0.0.0:10050
4)配置监控服务器
******************************************
`1添加监控主机\
配置->主机->创建主机->填写信息
2选择监控模板
应用监控模板
http
Os
3查看监控信息
监测中->最新数据
***********************************
自定义监控
自定义KEY
客户端定义监控命令给监控服务器使用
配置被监控端客户端 修改agent配置文件
1启用自定义监控
Vim /usr/local/etc/zabbix_agentd.conf
UnsafeUserParameters=1 是否允许自定义key
Include=/usr/local/etc/zabbix_agentd.conf.d/*.conf 加载配置文件目录
2定义监控命令 ,创建自定义key
Vim /usr/local/etc/zabbix.agentd.conf.d/count.line.passwd.conf
Userparameter=count.line.passwd,wc -l /etc/passwd | awk ‘{print $1}’自定义key语法格式
UserParameter=count.line.passwd,wc -l /etc/passwd | awk ‘{print$1}’
Wq
3重启服务
Killall -9 zabbix_agentd
Zabbix_agentd
Netstat -ntulp | grep :10050
4测试配置是否生效
Zabbix_get -s 127.0.0.1 -p 10050 -k count.line.passwd
23
Useradd yay22