zoukankan      html  css  js  c++  java
  • 自动化运维之日志系统Logstash解耦实践(八)

    6.5消息队列解耦综合实践

    1.将所有需要收集的日志写入一个配置文件,发送至node4的Redis服务(以下配置文件在各个节点上)。

     
    1. [root@linux-node3 ~]# cat /etc/logstash/conf.d/input_file_output_redis.conf
    2. input {
    3. #system
    4. syslog {
    5. type => "system_rsyslog"
    6. host => "192.168.90.203"
    7. port => "514"
    8. }
    9. #java
    10. file {
    11. path => "/var/log/elasticsearch/xuliangwei.log"
    12. type => "error_es"
    13. start_position => "beginning"
    14. codec => multiline {
    15. pattern => "^["
    16. negate => true
    17. what => "previous"
    18. }
    19. }
    20. #nginx
    21. file {
    22. path => "/var/log/nginx/access_json.log"
    23. type => "access_nginx"
    24. codec => "json"
    25. start_position => "beginning"
    26. }
    27. }
    28. output {
    29. #多行文件判断
    30. if [type] == "system_rsyslog" {
    31. redis {
    32. host => "192.168.90.204"
    33. port=> "6379"
    34. db => "6"
    35. data_type => "list"
    36. key => "system_rsyslog"
    37. }
    38. }
    39. if [type] == "error_es" {
    40. redis {
    41. host => "192.168.90.204"
    42. port=> "6379"
    43. db => "6"
    44. data_type => "list"
    45. key => "error_es"
    46. }
    47. }
    48. if [type] == "access_nginx" {
    49. redis {
    50. host => "192.168.90.204"
    51. port=> "6379"
    52. db => "6"
    53. data_type => "list"
    54. key => "access_nginx"
    55. }
    56. }
    57. }

    2.将Redis消息队列收集的所有日志,写入Elasticsearch集群。

     
    1. [root@linux-node3 ~]# cat /etc/logstash/conf.d/input_redis_output_es.conf
    2. input {
    3. redis {
    4. type => "system_rsyslog"
    5. host => "192.168.90.204"
    6. port=> "6379"
    7. db => "6"
    8. data_type => "list"
    9. key => "system_rsyslog"
    10. }
    11. redis {
    12. type => "error_es"
    13. host => "192.168.90.204"
    14. port=> "6379"
    15. db => "6"
    16. data_type => "list"
    17. key => "error_es"
    18. }
    19. redis {
    20. type => "access_nginx"
    21. host => "192.168.90.204"
    22. port=> "6379"
    23. db => "6"
    24. data_type => "list"
    25. key => "access_nginx"
    26. }
    27. }
    28. output {
    29. #多行文件判断
    30. if [type] == "system_rsyslog" {
    31. elasticsearch {
    32. hosts => ["192.168.90.201:9200","192.168.90.202:9200"]
    33. index => "system_rsyslog_%{+YYYY.MM}"
    34. }
    35. }
    36. if [type] == "error_es" {
    37. elasticsearch {
    38. hosts => ["192.168.90.201:9200","192.168.90.202:9200"]
    39. index => "error_es_%{+YYYY.MM.dd}"
    40. }
    41. }
    42. if [type] == "access_nginx" {
    43. elasticsearch {
    44. hosts => ["192.168.90.201:9200","192.168.90.202:9200"]
    45. index => "access_nginx_%{+YYYY.MM.dd}"
    46. }
    47. }
    48. }

    3.查看Elasticsearch情况 

    es情况
  • 相关阅读:
    怎么统计指定文件夹下含有.xml格式的文件数目
    SQLServer触发器创建、删除、修改、查看
    Devexpress 学习不错的网址
    Devexpress
    SQL 查找重复项及批量修改数据成固定格式
    elementui carousel不能自适应问题
    node中console自定义样式
    forEach for for in for of性能问题
    骚东西
    关于arr.map()问题
  • 原文地址:https://www.cnblogs.com/chenshengqun/p/8011905.html
Copyright © 2011-2022 走看看