服务器监控怎么做?
How to do server monitoring?
没有 devops 的经验,我刚接到一个项目,我必须做所有事情。
那么,我如何关注磁盘、内存、数据库space 和访问时间、api 回复时间等的使用情况?
您可以使用 Window 性能分析器。 Xperf 也很有帮助。
这是相同的 link。
https://msdn.microsoft.com/en-us/library/windows/hardware/hh162945.aspx
#!/bin/sh
file="/var/www/html/index.html"
linebreak="--------------------------------------------------------------------------------------------"
while true
do
echo "<html>" > $file
echo "<head>" >> $file
echo "<meta http-equiv="refresh" content="100">" >> $file
echo "</head>" >> $file
echo "<body>" >> $file
echo "<pre>" >> $file
date >> $file
echo $linebreak >> $file
uptime >> $file
echo $linebreak >> $file
top -b -n1 -u nobody | sed -n '3p' >> $file
echo $linebreak >> $file
free -m >> $file
echo $linebreak >> $file
df -h >> $file
echo $linebreak >> $file
iptables -nL >> $file
echo $linebreak >> $file
echo "</pre>" >> $file
echo "</body>" >> $file
echo "</html>" >> $file
sleep 100
done
我用这个脚本来监控一些信息,比如温度、磁盘使用情况、内存、防火墙等等。
我把结果放在apache 的索引中。所以我可以调用服务器的主页并查看所有内容。
脚本每 100 秒刷新一次结果。网页也会每100秒刷新一次。
使用这些脚本和apache,您可以通过移动设备或pc 监控世界各地的服务器。
Mo 28. Aug 14:36:03 CEST 2017
--------------------------------------------------------------------------------------------
14:36:03 up 1:34, 4 users, load average: 0,10, 0,09, 0,11
--------------------------------------------------------------------------------------------
%Cpu(s): 14,8 us, 1,6 sy, 0,7 ni, 82,2 id, 0,5 wa, 0,0 hi, 0,1 si, 0,0 st
--------------------------------------------------------------------------------------------
total used free shared buff/cache available
Mem: 3949 1027 756 74 2165 2542
Swap: 4093 0 4093
--------------------------------------------------------------------------------------------
Filesystem Size Used Avail Use% Mounted on
udev 2,0G 0 2,0G 0% /dev
tmpfs 395M 6,0M 389M 2% /run
/dev/sda1 21G 6,2G 14G 32% /
tmpfs 2,0G 43M 1,9G 3% /dev/shm
tmpfs 5,0M 4,0K 5,0M 1% /run/lock
tmpfs 2,0G 0 2,0G 0% /sys/fs/cgroup
Sharepoint 476G 300G 176G 64% /media/sf_Sharepoint
tmpfs 395M 92K 395M 1% /run/user/1000
--------------------------------------------------------------------------------------------
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
--------------------------------------------------------------------------------------------
任何管理员都不可能一直关注 运行 进程,这就是服务器监控的用武之地。
试试 Monit,它可以很容易地安装:
apt-get install monit -y
监控:
nano /etc/monit/monitrc
使用示例配置来配置您想要监控的内容,这也可以通过 http 或 https 访问,而且您实际上不需要访问它,因为如果您的服务器出现任何问题,它会提醒您.例如,如果您的内存消耗高于您在上面的配置文件中指定的值,或者 cpu 超载,或者某个网站已关闭,您将收到一封电子邮件。
让我们深入研究一下。
键入 monit status
以获得如下状态:
The Monit daemon 5.3.2 uptime: 1h 32m
System 'myhost.mydomain.tld'
status Running
monitoring status Monitored
load average [0.03] [0.14] [0.20]
cpu 3.5%us 5.9%sy 0.0%wa
memory usage 26100 kB [10.4%]
swap usage 0 kB [0.0%]
data collected Thu, 30 Aug 2017 18:35:00
您几乎可以监控任何东西,apache、nginx、mysql、磁盘、进程等
样本监控状态:
File 'mysql_bin'
status Accessible
monitoring status Monitored
permission 755
uid 0
gid 0
timestamp Fri, 05 May 2017 22:33:39
size 16097088 B
checksum 6d7b5ffd8563f8ad44dde35ae4b8bd52 (MD5)
data collected Mon, 28 Aug 2017 06:21:02
File 'apache_rc'
status Accessible
monitoring status Monitored
permission 755
uid 0
gid 0
timestamp Fri, 05 May 2017 11:21:22
size 9974 B
checksum 55b2bc7ce5e4a0835877dbfd98c2646b (MD5)
data collected Mon, 28 Aug 2017 06:21:02
Filesystem 'Server01'
status Accessible
monitoring status Monitored
permission 660
uid 0
gid 6
filesystem flags 0x1000
block size 4096 B
blocks total 5006559 [19556.9 MB]
blocks free for non superuser 2615570 [10217.1 MB] [52.2%]
blocks free total 2875653 [11233.0 MB] [57.4%]
inodes total 1281120
inodes free 1085516 [84.7%]
data collected Mon, 28 Aug 2017 06:23:02
Filesystem 'Media'
status Accessible
monitoring status Monitored
permission 660
uid 0
gid 6
filesystem flags 0x1000
block size 4096 B
blocks total 4414923 [17245.8 MB]
blocks free for non superuser 3454811 [13495.4 MB] [78.3%]
blocks free total 3684839 [14393.9 MB] [83.5%]
inodes total 1130496
inodes free 1130384 [100.0%]
data collected Mon, 28 Aug 2017 06:23:02
System 'mywebsite.com'
status Resource limit matched
monitoring status Monitored
load average [0.01] [0.10] [0.61]
cpu 2.7%us 0.2%sy 0.0%wa
memory usage 1150372 kB [28.5%]
swap usage 184356 kB [35.2%]
data collected Mon, 28 Aug 2017 06:21:02
设置警报!
不要忘记,对于您指定要监控的每条规则,您都会收到电子邮件警报,例如,当您的网站“mywebsite”出现故障时,或者当磁盘 space小于20%,或者磁盘故障,cpu大于x%等
安装 monit,使用 man monit
查看它的手册
没有 devops 的经验,我刚接到一个项目,我必须做所有事情。
那么,我如何关注磁盘、内存、数据库space 和访问时间、api 回复时间等的使用情况?
您可以使用 Window 性能分析器。 Xperf 也很有帮助。 这是相同的 link。
https://msdn.microsoft.com/en-us/library/windows/hardware/hh162945.aspx
#!/bin/sh
file="/var/www/html/index.html"
linebreak="--------------------------------------------------------------------------------------------"
while true
do
echo "<html>" > $file
echo "<head>" >> $file
echo "<meta http-equiv="refresh" content="100">" >> $file
echo "</head>" >> $file
echo "<body>" >> $file
echo "<pre>" >> $file
date >> $file
echo $linebreak >> $file
uptime >> $file
echo $linebreak >> $file
top -b -n1 -u nobody | sed -n '3p' >> $file
echo $linebreak >> $file
free -m >> $file
echo $linebreak >> $file
df -h >> $file
echo $linebreak >> $file
iptables -nL >> $file
echo $linebreak >> $file
echo "</pre>" >> $file
echo "</body>" >> $file
echo "</html>" >> $file
sleep 100
done
我用这个脚本来监控一些信息,比如温度、磁盘使用情况、内存、防火墙等等。
我把结果放在apache 的索引中。所以我可以调用服务器的主页并查看所有内容。
脚本每 100 秒刷新一次结果。网页也会每100秒刷新一次。
使用这些脚本和apache,您可以通过移动设备或pc 监控世界各地的服务器。
Mo 28. Aug 14:36:03 CEST 2017 -------------------------------------------------------------------------------------------- 14:36:03 up 1:34, 4 users, load average: 0,10, 0,09, 0,11 -------------------------------------------------------------------------------------------- %Cpu(s): 14,8 us, 1,6 sy, 0,7 ni, 82,2 id, 0,5 wa, 0,0 hi, 0,1 si, 0,0 st -------------------------------------------------------------------------------------------- total used free shared buff/cache available Mem: 3949 1027 756 74 2165 2542 Swap: 4093 0 4093 -------------------------------------------------------------------------------------------- Filesystem Size Used Avail Use% Mounted on udev 2,0G 0 2,0G 0% /dev tmpfs 395M 6,0M 389M 2% /run /dev/sda1 21G 6,2G 14G 32% / tmpfs 2,0G 43M 1,9G 3% /dev/shm tmpfs 5,0M 4,0K 5,0M 1% /run/lock tmpfs 2,0G 0 2,0G 0% /sys/fs/cgroup Sharepoint 476G 300G 176G 64% /media/sf_Sharepoint tmpfs 395M 92K 395M 1% /run/user/1000 -------------------------------------------------------------------------------------------- Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination --------------------------------------------------------------------------------------------
任何管理员都不可能一直关注 运行 进程,这就是服务器监控的用武之地。
试试 Monit,它可以很容易地安装:
apt-get install monit -y
监控:
nano /etc/monit/monitrc
使用示例配置来配置您想要监控的内容,这也可以通过 http 或 https 访问,而且您实际上不需要访问它,因为如果您的服务器出现任何问题,它会提醒您.例如,如果您的内存消耗高于您在上面的配置文件中指定的值,或者 cpu 超载,或者某个网站已关闭,您将收到一封电子邮件。
让我们深入研究一下。
键入 monit status
以获得如下状态:
The Monit daemon 5.3.2 uptime: 1h 32m
System 'myhost.mydomain.tld'
status Running
monitoring status Monitored
load average [0.03] [0.14] [0.20]
cpu 3.5%us 5.9%sy 0.0%wa
memory usage 26100 kB [10.4%]
swap usage 0 kB [0.0%]
data collected Thu, 30 Aug 2017 18:35:00
您几乎可以监控任何东西,apache、nginx、mysql、磁盘、进程等
样本监控状态:
File 'mysql_bin'
status Accessible
monitoring status Monitored
permission 755
uid 0
gid 0
timestamp Fri, 05 May 2017 22:33:39
size 16097088 B
checksum 6d7b5ffd8563f8ad44dde35ae4b8bd52 (MD5)
data collected Mon, 28 Aug 2017 06:21:02
File 'apache_rc'
status Accessible
monitoring status Monitored
permission 755
uid 0
gid 0
timestamp Fri, 05 May 2017 11:21:22
size 9974 B
checksum 55b2bc7ce5e4a0835877dbfd98c2646b (MD5)
data collected Mon, 28 Aug 2017 06:21:02
Filesystem 'Server01'
status Accessible
monitoring status Monitored
permission 660
uid 0
gid 6
filesystem flags 0x1000
block size 4096 B
blocks total 5006559 [19556.9 MB]
blocks free for non superuser 2615570 [10217.1 MB] [52.2%]
blocks free total 2875653 [11233.0 MB] [57.4%]
inodes total 1281120
inodes free 1085516 [84.7%]
data collected Mon, 28 Aug 2017 06:23:02
Filesystem 'Media'
status Accessible
monitoring status Monitored
permission 660
uid 0
gid 6
filesystem flags 0x1000
block size 4096 B
blocks total 4414923 [17245.8 MB]
blocks free for non superuser 3454811 [13495.4 MB] [78.3%]
blocks free total 3684839 [14393.9 MB] [83.5%]
inodes total 1130496
inodes free 1130384 [100.0%]
data collected Mon, 28 Aug 2017 06:23:02
System 'mywebsite.com'
status Resource limit matched
monitoring status Monitored
load average [0.01] [0.10] [0.61]
cpu 2.7%us 0.2%sy 0.0%wa
memory usage 1150372 kB [28.5%]
swap usage 184356 kB [35.2%]
data collected Mon, 28 Aug 2017 06:21:02
设置警报!
不要忘记,对于您指定要监控的每条规则,您都会收到电子邮件警报,例如,当您的网站“mywebsite”出现故障时,或者当磁盘 space小于20%,或者磁盘故障,cpu大于x%等