案例1:常用系统监控命令
案例2:部署Zabbix监控平台
案例3:配置及使用Zabbix监控系统
案例4:自定义Zabbix监控项目
1.案例: 常用的系统监控命令
lscpu ifconfig top free ps who swapn lsblk df uptime ss -ntulp
[root@proxy ~]# ss -ntulp //查看本机监听的所有端口
//-n以数字显示端口号
//-t显示tcp连接
//-u显示udp连接
//-p显示监听端口对应的程序名称
//-a查看所有连接状态信息
案例2:部署zabbix监控平台 (cacti nagios)
1.安装LNMP
在 make的时候出现
Cannot update read-only repo
解决方案: yum -y install gcc automake autoconf libtool make
注意:将包传到 proxy后,最好不要 mv
[root@zabbixserver ~]# yum -y install gcc pcre-devel openssl-devel
[root@zabbixserver ~]# tar -xf nginx-1.12.2.tar.gz
[root@zabbixserver ~]# cd nginx-1.12.2
[root@zabbixserver nginx-1.12.2]# ./configure --with-http_ssl_module
[root@zabbixserver nginx-1.12.2]# make && make install
[root@zabbixserver ~]# yum -y install php php-mysql \
mariadb mariadb-devel mariadb-server
[root@zabbixserver ~]# yum -y install php-fpm-5.4.16-42.el7.x86_64.rpm
2)修改nginx 配置
[root@zabbixserver ~]# vim /usr/local/nginx/conf/nginx.conf
… …
http{
… …
fastcgi_buffers 8 16k; #缓存php生成的页面内容,8个16k
fastcgi_buffer_size 32k; #缓存php生产的头部信息
fastcgi_connect_timeout 300; #连接PHP的超时时间
fastcgi_send_timeout 300; #发送请求的超时时间
fastcgi_read_timeout 300; #读取请求的超时时间
location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
3)启动
[root@zabbixserver ~]# systemctl start mariadb
[root@zabbixserver ~]# systemctl start php-fpm
[root@zabbixserver ~]# ln -s /usr/local/nginx/sbin/nginx /sbin/nginx
[root@zabbixserver ~]# nginx
[root@zabbixserver ~]# firewall-cmd --set-default-zone=trusted
[root@zabbixserver ~]# setenforce 0
步骤2:部署zabbix server
1)安装
yum -y install net-snmp-devel curl-devel autoconf
yum -y install libevent-devel
解压zabbix
[root@zabbixserver zabbix-3.4.4]# ./configure --enable-server
> --enable-proxy --enable-agent --with-mysql=/usr/bin/mysql_config
> --with-net-snmp --with-libcurl
// --enable-server 安装部署zabbix服务器端软件
// --enable-agent 安装部署zabbix被监控端软件
// --enable-proxy 安装部署zabbix代理相关软件
// --with-mysql 配置mysql_config路径
// --with-net-snmp 允许zabbix通过snmp协议监控其他设备
// --with-libcurl 安装相关curl库文件,这样zabbix就可以通过curl连接http等服务,测试被监控主机服务的状态
2)初始化数据库
[root@zabbixserver ~]# mysql
mysql> create database zabbix character set utf8;
#创建数据库,支持中文字符集
mysql> grant all on zabbix.* to zabbix@‘localhost’ identified by ‘zabbix’;
#创建可以访问数据库的账户与密码
[root@zabbixserver ~]# cd lnmp_soft/zabbix-3.4.4/database/mysql/
[root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql
[root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < images.sql
[root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < data.sql
-u 用户名 -p 密码
3)修改zabbix_server 配置并启动
[root@zabbixserver ~]# vim /usr/local/etc/zabbix_server.conf
DBHost=localhost
#数据库主机,默认该行被注释 ,改成本机
DBName=zabbix
#设置数据库名称 95行
DBUser=zabbix
#设置数据库账户 111行
DBPassword=zabbix
#设置数据库密码,默认该行被注释 119行
LogFile=/tmp/zabbix_server.log
38行: 日志的位置,拍错使用
useradd -s /sbin/nologin zabbix #不创建用户无法启动服务
zabbix_server #启动服务
echo zabbix_server >> /etc/rc.local #设置开机自启
chmod +x /etc/rc.local
ss -ntulp |grep zabbix_server #确认连接状态,端口10051
4)修改 zabbix_agent 配置文件
Server=127.0.0.1,192.168.2.5 93 //允许哪些主机监控本机
serverActive=127.0.0.1,192.168.2.5允许哪些主机通过主动模式监控本机
Hostname=zabbix_server 145 //设置本机主机名(随便写,最好一样)
LogFile=/tmp/zabbix_server.log 30 //设置日志文件
UnsafeUserParameters=1 280 //是否允许自定义key
#zabbix_agentd //启动监控agent
echo zabbix_agentd >> /etc/rc.local #设置开机自启
5)上线 web
[root@zabbixserver ~]# cd lnmp_soft/zabbix-3.4.4/frontends/php/
[root@zabbixserver php]# cp -r * /usr/local/nginx/html/
[root@zabbixserver php]# chown -R apache.apache /usr/local/nginx/html/
用浏览器打开 192.168.2.5/index.php
) 修改web环境要求
[root@zabbixserver ~]# yum -y install php-gd php-xml
[root@zabbixserver ~]# yum install php-bcmath
[root@zabbixserver ~]# yum install php-mbstring
[root@zabbixserver ~]# vim /etc/php.ini
date.timezone = Asia/Shanghai //设置时区
max_execution_time = 300 //最大执行时间,秒
post_max_size = 32M //POST数据最大容量
max_input_time = 300 //服务器接收数据的时间限制
memory_limit = 128M //内存容量限制
[root@zabbixserver ~]# systemctl restart php-fpm
步骤3:部署被监控主机zabbix Agent
- 安装 zabbix agent
[root@web1 ~]# useradd -s /sbin/nologin zabbix
[root@web1 ~]# yum -y install gcc pcre-devel autoconf
[root@web1 ~]# tar -xf zabbix-3.4.4.tar.gz
[root@web1 ~]# cd zabbix-3.4.4/
[root@web1 zabbix-3.4.4]# ./configure --enable-agent
[root@web1 zabbix-3.4.4]# make && make install
[root@web1 zabbix-3.4.4]# ls /usr/local/sbin/
zabbix_agentd 装好
2)修改配置
[root@web1 ~]# vim /usr/local/etc/zabbix_agentd.conf
Server=127.0.0.1,192.168.2.5 93 //谁可以监控本机(被动监控模式)
ServerActive=127.0.0.1,192.168.2.5 134`
Hostname=web1 //被监控端自己的主机名
EnableRemoteCommands=1
//监控异常后,是否允许服务器远程过来执行命令,如重启某个服务
UnsafeUserParameters=1 //是否允许自定义key监控
[root@web1 ~]# zabbix_agentd //启动agent服务
[root@web1 ~]# echo zabbix_agentd >> /etc/rc.local 自动启动
[root@web1 ~]# chmod +x /etc/rc.local
案例3:配置及使用zabbix 监控系统
1.监控cpu
2.监控内存
3.监控进程
4.监控网络流量
5.监控硬盘
步骤:
步骤1: 添加监控主机
使用火狐浏览器登录http://192.168.2.5,通过Configuration(配置)–>Hosts(主机)–>Create Host(创建主机)添加被监控Linux主机,
添加被监控主机时,需要根据提示输入被监控Linux主机的主机名称(最好与电脑的主机名一致,但也允许不一致)、主机组、IP地址等参数
步骤二: 为被监控主机添加控制模板
案例四:自定义zabbix监控项目
监控 linux 服务器系统账户的数量
步骤:
一: 被监控主机创建自定义key
1)创建自定义key
自定义key语法格式为:
UserParameter=自定义key名称,命令。
[root@web1 ~]# vim /usr/local/etc/zabbix_agentd.conf
Include=/usr/local/etc/zabbix_agentd.conf.d/ //加载配置文件目录
取消注释
[root@web1 ~]# cd /usr/local/etc/zabbix_agentd.conf.d/
[root@web1 zabbix_agentd.conf.d]# vim count.line.passwd
UserParameter=count.line.passwd,sed -n ‘$=’ /etc/passwd
2)测试自定义key 是否正常工作
[root@web1 ~]# killall zabbix_agentd
zabbix_agentd
zabbix_get -s 127.0.0.1 -k count.line.passwd
步骤二: 创建监控模版
1)添加监控模板
登录Zabbix Web监控控制台,通过Configuration(配置)–>Template(模板)–>Create template(创建模板),填写模板名称,新建模板群组
2)创建应用