监控与安全--zabbix基础

监控的目的
  • 报告系统运行状况
    – 每一部分必须同时监控
    – 内容包括吞吐量,反应时间,使用率等
  • 提前发现问题
    – 进行服务器性能调整前,知道调整什么
    – 找出系统的瓶颈在什么地方
监控的资源类别
  • 公开数据
    – Web,FTP,SSH,数据库等应用服务
    – TCP或UDP端口
  • 私有数据
    – CPU,内存,磁盘,网卡流量等使用信息
    – 用户,进程等运行信息
系统监控命令
命令 描述
ps 进程查看命令
uptime 查看服务器运行了多长时间以及有多少个用户登录
free 查看内存使用情况
swapon -s 查看交换分区的信息
df -h 检查linux的文件系统的磁盘空间占用情况
ifconfig ip相关信息
netstat或ss 查看状态
ping 检测连通性
traceroute 路由追踪,访问百度时,经过的服务器
iostat 收集显示系统存储设备输入和输出状态统计
自动化监控系统
  • Cacti(10年前主流,仙人掌监控)
    – 基于SNMP协议的监控软件,强大的绘图能力
    – 缺点,监控时需要调用监控主机的模板,模板数有限,监控能力有限
  • Nagios(部分公司在用)
    – 基于Agent监控,强大的状态检查与报警机制
    – 插件极多,自己写监控脚本潜入到Nagios非常方便
    – 缺点:没有绘图功能
  • Zabbix
    – 基于多种监控机制,支持分布式监控
Zabbix简介
  • Zassix是一个高度集成的监控解决方案
  • 可以实现企业级的开源分布式监控
  • Zabbix通过C/S(客户端服务器)模式采集监控数据
  • Zabbix通过B/S(浏览器服务器)模式实现Web管理
部署LNMP
1.1 安装nginx及其依赖包
]# yum -y install gcc pcre-devel zlib-devel openssl-devel
]# tar -xf nginx-1.12.tar.gz
]# cd nginx-1.12
nginx-1.12]# ./configure --with-http_ssl_module
nginx-1.12]# make; make install 
]# yum -y install php php-mysql mariadb mariadb-devel mariadb-server
]# yum -y install php-fpm
1.2 修改nginx配置
vim /usr/local/nginx/conf/nginx.conf
 65         location ~ \.php$ {
 66             root           html;
 67             fastcgi_pass   127.0.0.1:9000;
 68             fastcgi_index  index.php;
 69             include        fastcgi.conf;
 70         }
1.3 启动服务与测试
]# systemctl start mariadb
]# systemctl start php-fpm
]# /usr/local/nginx/sbin/nginx
vim /usr/local/nginx/html/test.php
<?php
echo "helloworld"
?>
curl http://localhost/test.php

部署Zabbix

1.1 安装源码Zabbix

]# yum -y install net-snmp-devel curl-devel libevent-devel
]# tar -xf Zabbix/zabbix-3.4.4.tar.gz 
]# cd zabbix-3.4.4/
zabbix-3.4.4]# ./configure --enable-server --enable-proxy --enable-agent --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl
zabbix-3.4.4]# make install

1.2 初始化准备

1.2.1 创建数据库与数据库账户
]# mysql
mysql> create database zabbix character set utf8;
mysql> grant all on zabbix.* to zabbix@"localhost" identified by "zabbix";
]# cd zabbix-3.4.4/database/mysql
]# mysql -uzabbix -pzabbix zabbix < schema.sql
]# mysql -uzabbix -pzabbix zabbix < images.sql
]# mysql -uzabbix -pzabbix zabbix < data.sql
1.2.2 上线Zabbix页面
cd zabbix-3.4.4/frontends/php/
cp -a * /usr/local/nginx/html/
chmod -R 777 /usr/local/nginx/html/*
1.2.3 修改nginx配置
]# 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;	//读取请求的超时时间

}
]# /usr/local/nginx/sbin/nginx -s stop
]# /usr/local/nginx/sbin/nginx
1.2.4 安装依赖软件
]# cd /root/
]# yum -y install php-gd php-xml php-ldap
]# yum -y install php-gcmath php-mbstring
1.2.5 修改PHP配置文件
]# vim /etc/php.ini
	date.timezone = Asia/Shanghai		//设置时区
	max_execution_time = 300			//最大执行时间,秒
	post_max_size = 32M				//POST数据最大容量
	max_input_time = 300			//服务器接收数据的时间限制
]# systemctl restart php-fpm
1.2.6浏览器访问web页面

http://192.168.2.5/index.php
在这里插入图片描述

这里的Host改为本机的IP地址192.168.2.5,端口port默认,Name名称输入monitor-server
在这里插入图片描述

1.3 启动服务

修改配置文件

]# vim /usr/local/etc/zabbix_server.conf
38 LogFile=/tmp/zabbix_server.log
85 DBHost=localhost
95 DBName=zabbix
111 DBUser=zabbix
119 DBPassword=zabbix

启动服务

]# useradd zabbix		//不创建用户无法启动服务
]# zabbix_server			//启动服务的命令
]# ss -ntulp | grep 10051	//查看端口
-- killall -9 zabbix_server //停止进程

Zabbix监控服务

1.1 基础监控

1.1.1 配置被监控主机

安装软件(以1.100为例)

]# yum -y install gcc pcre-devel
]# tar -xf zabbix-3.4.4.tar.gz
]# cd zabbix-3.4.4/
zabbix-3.4.4]# ./configure --enable-agent
zabbix-3.4.4]# make install
1.1.2 修改配置文件
]# vim /usr/local/etc/zabbix_agentd.conf
	Server=127.0.0.1,192.168.2.5	//允许访问服务地址列表
	ServerActive=192.168.2.5:10051	//监控服务器ip地址
	LogFile=/tmp/zabbix_agentd.log		//日志文件
1.1.3 启动服务
]# useradd zabbix
]# zabbix_agentd	//启动服务
]# ss -ntulp | grep 10050	//查看端口

2.自定义监控项

2.1 配置客户端
2.1.1 启动定义,定义监控项
2.1.2 定义监控命令
2.1.3 测试命令
2.2 配置监控服务器
发布了18 篇原创文章 · 获赞 23 · 访问量 3082

猜你喜欢

转载自blog.csdn.net/qq_42130112/article/details/103629834