NSD SECURITY DAY05
监控的目的
1 案例1:常用系统监控命令
1.1 问题
本案例要求熟悉查看Linux系统状态的常用命令,为进一步执行具体的监控任务做准备:
- 查看内存信息
- 查看交换分区信息
- 查看磁盘信息
- 查看CPU信息
- 查看网卡信息
- 查看端口信息
- 查看网络连接信息
1.2 方案
监控软件可以使用:系统自带的命令、Cacti监控系统、Nagios监控系统、Zabbix监控系统。
1.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:使用命令查看计算机状态数据
1)查看内存与交换分区信息
- [root@proxy ~]# free //查看内存信息
- total used free shared buff/cache available
- Mem: 16166888 8017696 720016 106504 7429176 7731740
- Swap: 4194300 218268 3976032
- [root@proxy ~]# free | awk '/Mem/{print $4}' //查看剩余内存容量
- 720928
- [root@proxy ~]# swapon -s //查看交换分区信息
- 文件名 类型 大小 已用 权限
- /dev/sda3 partition 4194300 218268 -1
步骤二:查看磁盘与CPU利用率
1)查看磁盘信息
- [root@proxy ~]# df //查看所有磁盘的使用率
- 文件系统 1K-块 已用 可用 已用% 挂载点
- /dev/sda2 476254208 116879624 335159084 26% /
- /dev/sda1 198174 133897 49737 73% /boot
- [root@proxy ~]# df | awk '/\/$/{print $5}' //查看根分区的利用率
2)查看CPU平均负载
- [root@proxy ~]# uptime //查看CPU负载(1,5,15分钟)
- 23:54:12 up 38 days, 14:54, 9 users, load average: 0.00, 0.04, 0.05
- [root@proxy ~]# uptime |awk '{print $NF}' //仅查看CPU的15分钟平均负载
- 0.05
- NF 是最后一列 NR 是记录个数的
步骤二:查看网卡信息、端口信息、网络连接信息
1)查看网卡信息
- [root@proxy ~]# ifconfig eth0
- eth0: flags=4163<</span>UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
- inet 192.168.4.5 netmask 255.255.255.0 broadcast 172.25.0.255
- inet6 fe80::5054:ff:fe00:b prefixlen 64 scopeid 0x20<</span>link>
- ether 52:54:00:00:00:0b txqueuelen 1000 (Ethernet)
- RX packets 62429 bytes 10612049 (10.1 MiB)
- RX errors 0 dropped 0 overruns 0 frame 0
- TX packets 5674 bytes 4121143 (3.9 MiB)
- TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
- [root@proxy ~]# ifconfig eth0 |awk '/inet /{print $2}' //查看IP地址信息
- 192.168.4.5
- [root@proxy ~]# ifconfig eth0 |awk '/RX p/{print $5}' //网卡接受数据包流量
- 10625295
- [root@proxy ~]# ifconfig eth0 |awk '/TX p/{print $5}' //网卡发送数据包流量
- 4130821
2)查看端口信息
- [root@proxy ~]# ss -ntulp //查看本机监听的所有端口
- //-n以数字显示端口号
- //-t显示tcp连接
- //-u显示udp连接
- //-p显示监听端口对应的程序名称
3)查看网络连接信息
- [root@proxy ~]# ss -antup //查看所有的网络连接信息
- //-a查看所有连接状态信息
2 案例2:部署Zabbix监控平台
2.1 问题
本案例要求部署一台Zabbix监控服务器,一台被监控主机,为进一步执行具体的监控任务做准备:
- 安装LNMP环境
- 源码安装Zabbix
- 安装监控端主机,修改基本配置
- 初始化Zabbix监控Web页面
- 修改PHP配置文件,满足Zabbix需求
- 安装被监控端主机,修改基本配置
2.2 方案
使用1台RHEL7虚拟机,安装部署LNMP环境、Zabbix及相关的依赖包,配置数据库并对Zabbix监控平台进行初始化操作。使用2台被监控端,源码安装Zabbix Agent。完成Zabbix实验需要我们搭建一个实验环境,拓扑结构如表-1所示。
表-1 实验拓扑结构
2.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:部署监控服务器
1)安装LNMP环境
Zabbix监控管理控制台需要通过Web页面展示出来,并且还需要使用MySQL来存储数据,因此需要先为Zabbix准备基础LNMP环境。
- [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
- //注意,php-fpm这个软件包在lnmp_soft/目录下
2)修改Nginx配置文件
配置Nginx支持PHP动态网站,因为有大量PHP脚本需要执行,因此还需要开启Nginx的各种fastcgi缓存,加速PHP脚本的执行速度。
- [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)启动服务
启动Nginx、PHP-FPM、MariaDB服务,关闭SELinux与防火墙。
- [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
4)客户端测试LNMP环境
服务器创建PHP测试页面,浏览器访问页面测试网页连通性。
- [root@zabbixserver ~]# cat /usr/local/nginx/html/test.php