文本描述
文档编号
XX_3_SYS_POS平台运维手册
版 本 号
V1.
密 级
内部公开
POS平台系统运维手册——
《POS平台系统日志收集手册》
XXX信息技术有限公司
文档信息
发布版本:V1.
最后发布时间:XX
编写人:XX
审核人:XX
版本控制
编号
修订人
修订时间
版本号
修订内容说明
目录
1 需求
2 实施计划
3 具体细节
4 POS平台服务器的配置
需求
将所有POS平台服务器操作系统的日志,统一收集到日志存储管理服务器中,便于集中式管理,已到达方便查阅和预警的目的。
实施计划
采用目前流行的syslog-ng+phpsyslogng来实现收集、管理和查询。
具体细节
1)部署日志服务器的环境
首先在日志服务器elephant(192.168.30.80)上搭建LAMP环境(略),然后将 syslog-ng配置成收集器,并在需要收集日志的服务器上将syslog-ng日志输出到elephant上。elephant会把这些日志写入本地mysql。
elephant上syslog-ng的关键配置:
destination d_mysql {
pipe("/var/log/mysql.pipe"
template("INSERT INTO logs
(host, facility, priority, level, tag, datetime, program, msg)
VALUES ( #$HOST#, #$FACILITY#, #$PRIORITY#, #$LEVEL#, #$TAG#, #$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC#,
#$PROGRAM#, #$MSG# );\n") template-escape(yes));
};
log {
source(src);
destination(d_mysql);
};
source netsrc { udp(ip(0.0.0.0) port(5000)); };
log { source(netsrc); destination(d_mysql); };
2) 添加定时脚本如下:
elephant:/srv/www/htdocs/scripts # cat syslog2mysql.sh
#!/bin/bash
# If you add this script to cron, be sure to change $config to the full path name
# ie: /www/php-syslog-ng/html/config/config.php
config="/srv/www/htdocs/config/config.php"
user=`cat $config | grep "#DBADMIN#" | awk -F"#" #{print $4}# `
pw=`cat $config | grep "#DBADMINPW#" | awk -F"#" #{print $4}# `
db=`cat $config | grep "#DBNAME#" | awk -F"#" #{print $4}# `
num=`ps -ef|grep -v grep |grep "mysql --socket=/var/lib/mysql/mysql.sock -u syslogadmin --password=x xxxxxx syslog" |wc -l `
if [ $num -lt 1 ]; then
if [ ! -e /var/log/mysql.pipe ]
then