自动化运维之日志系统上线规范(九)

2016-09-27 分类:ELKstack 阅读(5430) 评论(2)

徐亮伟, 江湖人称标杆徐。多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。擅长Web集群架构与自动化运维,曾负责国内某大型电商运维工作。
个人博客"徐亮伟架构师之路"累计受益数万人。
笔者Q:552408925、572891887
架构师群:471443208

9.ElkStack上线规划

上线ELKstack前,先做好如下规范能更好的开启ELKstack之旅。

1.标准化:
        1.路径规划: /data/logs/,/data/logs/access,/data/logs/error,/data/logs/run
        2.格式要求: 严格要求使用json
        3.命名规则: access_log error_log runtime_log system_log
        4.日志切割: 按天,按小时。访问,错误,程序日志按小时,系统日志按天收集。
        5.原始文本: rsync推送NAS,后删除最近三天前。
        5.消息队列: 访问日志,写入Redis_DB6,错误日志Redis_DB7,程序日志Redis_DB8
    
       
2.工具化:

        1.访问日志  Apache、Nginx、Tomcat       (使用file插件)
        2.错误日志  java日志、异常日志          (使用mulitline多行插件)
        3.系统日志  /var/log/*、rsyslog         (使用syslog)
        4.运行日志  程序写入的日志文件          (可使用file插件或json插件)
        5.网络日志  防火墙、交换机、路由器      (syslog插件)


3.集群化:
        1.每台ES上面都启动一个Kibana
        2.Kibana都连自己的ES
        3.前端Nginx负载均衡+验证,代理至后端Kibana
        4.通过消息队列来实现程序解耦以及高可用等扩展
        
        
4.监控化:
        1.对ES以及Kibana、进行监控。如果服务DOWN及时处理。
        2.使用Redis的list作为ELKstack消息队列。
        3.Redis的List Key长度进行监控(llen key_name)。例:超过"10万"即报警(根据实际情况以及业务情况)        

  
5.迭代化:
        1.开源日志分析平台:ELK、EFK、EHK、
        2.数据收集处理:Flume、heka
        3.消息队列:Redis、Rabbitmq、Kafka、Hadoop、webhdfs

ELK作业:

目标一:
    1.把我们的资产的Excel。导出来,存放到Redis里面。使用hash类型。
    2.使用Python脚本,遍历所有主机,通过Zabbix api判断是否增加监控。

目标二:
    1.给所有资产的Excel。增加一个字段,叫做角色。例如Nginx Haproxy
    2.同目标一,然后编辑Python脚本,调用saltstack API对该角色执行对应的状态。

目标三:
1.尝试把Excel。写入到MySQL数据库。通过Python导入。
2.把之前读取Redis的操作,改成MySQL。
欢迎新朋友你的到来!
已经有2 条评论抢在你前面了~
昵称
邮箱
网站
  1. 三五营销

    仔细瞧瞧再说!

    #1
  2. xuliangwei

    #2

登录

忘记密码 ?

切换登录

注册

Copy Protected by Chetan's WP-Copyprotect.