发表于 2018-10-23 06:59:31

rsyslog server 和loganalyzer(图形日志)

  rsyslog:
  日志:历史事件的相当记录
  记录的内容:事件发生的时间、事件内容
  日志级别:事件的关键性程序,loglevel
  Linux:应用程序,内核
  syslogd 为系统记录日志的程序
  klogd为内核记录日志的程序
  程序包:syslog (centos5之前的版本)--> rsyslog
  rsyslog:
  多线程;

  基于此些UDP,TCP, SSL, TLS,>  日志可以记录在MySQL,PGSQL, Oracle等多种关系数据库中
  强大的过滤器,可实现过滤系统信息中的任意部分
  自定义输出格式
  适用于企业级别日志记录需求
  还有一种日志工具为:elk:elasticsearch, logstash, kibana
  日志生成方:应用程序和内核
  每个应用程序都可自行记录日志
  内核也可记录日志
  核心概念:
  facility: 设施,从功能或程序上对日志进行分类,并由专门的工具负责记录相应的日志信息;
  由下列相应的工具来记录相应的信息:
  auth
  authpriv
  cron
  daemon
  kern
  lpr
  mail
  mark
  news
  security
  syslog
  user
  uucp
  local0- local7
  priority:级别
  debug
  info
  notice
  warn,warning
  err,error
  crit
  alert
  emerg,panic
  指定级别的方式:
  *: 所有级别
  none: 没有级别
  priority: 比此级别高的(包含)所有级别的日志信息都会记录
  =priority: 仅记录指定级别
  rsyslog的配置文件:/etc/rsyslog.conf
  RULES:
  facility.priority                target
  设施.级别                        何处
  target:
  文件路径:将日志记录于指定的文件中;在文件路径之前使用"-",表示异步写入;
  用户:将日志信息通知给文件
  *: 所有用户
  日志服务器:@SERVER
  管道:| COMMAND

  文件记录日志文件的格式:
  事件产生的时间         主机         进程(PID):      事件
  有些日志记录二进制格式,例如,两个日志文件:
  成功登录系统的日志:/var/log/wtmp
  查看命令:last
  失败的登录的尝试:/var/log/btmp
  查看命令:lastb
  lastlog命令:显示当前系统每个用户各自最近一次的登录信息;
  模块:
  启用本机成为日志服务器:
  $ModLoadimudp
  $UDPServerRun514
  udp模块启用后可以用ss -unl查看是否监听在514端口上

  $ModLoadimtcp
  $InputTCPServerRun514
  tcp模块启用后可以使用ss -tan查看是否监听在514端口上
  更配置文件后,servicersyslogrestart


  rsyslog支持把日志存储于mysql中:
  (1) 有可用的MySQL服务器;
yum install mysql-server -y
service mysqld start

  (2) 安装rsyslog-mysql程序包;
  yuminstall rsyslog-mysql -y
  (3) 创建rsyslog依赖的数据库;
  #mysql < /usr/share/doc/rsyslog-mysql-VERSION/createDB.sql
  在mysql中可以查到相关的Syslog以及相关的表;
  (4) 配置rsyslog启用ommysql模块,在/etc/rsyslog.conf配置文件内添加;
  ####MODULES ####
  $ModLoadommysql
  (5) 定义某facility把日志记录至指定的数据库的指定表中;
  ####RULES ####
  facility.priority:ommysql:SERVER_IP,DATABASE,USERNAME,PASSWORD
  例:
  *.info;mail.none;authpriv.none;cron.none               :ommysql:127.0.0.1,Syslog,rsyslog,rsyslog
  在数据库中创建用户:

  mysql>GRANT ALL ON Syslog.* TO 'rsyslog'@'127.0.0.1'>
  mysql>GRANT ALL ON Syslog.* TO 'rsyslog'@'localhost'>  mysql>FLUSH PRIVILEGES;
  mysql>select * from SystemEvents\G
  (6) 可选:使用loganalyzer(WebGUI)来展示日志信息;
  第一步:下载依赖的lamp组件;
  #yum install httpd php php-mysql php-gd
  第二步:看是否php能够正常执行
servicehttpd start
  在/var/www/html下创建index.php测试页面


service httpd>  在浏览器下输入IP查看测试页面
  下载loganalyzer,并展开;这里以loganalyzer-3.6.5为例
  #cp -r loganalyzer-3.6.5/src /var/www/html/loganalyzer
  #cp loganalyzer-3.6.5/contrib/* /var/www/html/loganalyzer
  #cd /var/www/html/loganalyzer
  #chmod +x configure.sh secure.sh
  #./configure.sh
  #./secure.sh
  #chmod 666 config.php
  访问:http://SERVER_IP/loganalyzer/install.php
  如下界面需要配置后才能显示:


页: [1]
查看完整版本: rsyslog server 和loganalyzer(图形日志)