使用日志系统graylog获取Ceph集群状态
前言
在看集群的配置文件的时候看到ceph里面有一个graylog的输出选择,目前看到的是可以收集mon日志和clog,osd单个的日志没有看到,Elasticsearch有整套的日志收集系统,可以很方便的将所有日志汇总到一起,这个graylog的收集采用的是自有的udp协议,从配置上来说可以很快的完成,这里只做一个最基本的实践
系统实践
graylog日志系统主要由三个组件组成的
- MongoDB – 存储配置信息和一些元数据信息的,MongoDB (>= 2.4)
- Elasticsearch – 用来存储Graylog server收取的log messages的,Elasticsearch (>= 2.x)
- Graylog server – 用来解析日志的并且提供内置的web的访问接口
配置好基础源文件
CentOS-Base.repo
epel.repo
安装java
要求版本Java (>= 8)
yum install java-1.8.0-openjdk
安装MongoDB
安装软件
yum install mongodb mongodb-server
启动服务并且加入自启动
systemctl restart mongod
systemctl enable mongod
安装完成检查服务启动端口
[root@lab102 ~]# netstat -tunlp|grep 27017
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 151840/mongod
安装Elasticsearch
导入认证文件
rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
添加源文件
vim /etc/yum.repos.d/elasticsearch.repo
添加
[elasticsearch-2.x]
name=Elasticsearch repository for 2.x packages
baseurl=https://packages.elastic.co/elasticsearch/2.x/centos
gpgcheck=1
gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch
enabled=1
安装elasticsearch包
yum install elasticsearch
配置自启动
systemctl enable elasticsearch
修改配置文件
# vim /etc/elasticsearch/elasticsearch.yml
cluster.name: graylog
重启服务
systemctl restart elasticsearch
检查运行服务端口
[root@lab102 ~]# netstat -tunlp|grep java
tcp 0 0 127.0.0.1:9200 0.0.0.0:* LISTEN 154116/java
tcp 0 0 127.0.0.1:9300 0.0.0.0:* LISTEN 154116/java
检查elasticsearch状态
[root@lab102 ~]# curl -X GET http://localhost:9200
{
"name" : "Vibro",
"cluster_name" : "graylog",
"cluster_uuid" : "11Y2GOTmQ9ynNbTlruFcyA",
"version" : {
"number" : "2.4.5",
"build_hash" : "c849dd13904f53e63e88efc33b2ceeda0b6a1276",
"build_timestamp" : "2017-04-24T16:18:17Z",
"build_snapshot" : false,
"lucene_version" : "5.5.4"
},
"tagline" : "You Know, for Search"
}
[root@lab102 ~]# curl -XGET 'http://localhost:9200/_cluster/health?pretty=true'
{
"cluster_name" : "graylog",
"status" : "green",
状态应该是green
安装graylog
安装源
rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-2.2-repository_latest.rpm
安装软件包
yum install graylog-server pwgen
生成password_secret
[root@lab102 ~]# pwgen -N 1 -s 96
DoqTYuvQPHaNW6XGFj5jru3FH8qxMjehj7Xk9OaVxhxaLYphF871CyiCMOKuAsHsJc0DtUUkK3ioFeqYo73mkMDUN7YklqgS
在配置文件/etc/graylog/server/server.conf中password_secret填上上面的输出
生成root_password_sha2(后面生成的-不需要)
[root@lab102 ~]# echo -n 123456 |shasum -a 256
8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92 -
123456是我设置的密码
在配置文件/etc/graylog/server/server.conf中root_password_sha2填上上面的输出
设置时区
root_timezone = Asia/Shanghai
配置web监听端口
rest_listen_uri = http://192.168.10.2:9000/api/
web_listen_uri = http://192.168.10.2:9000/
这里注意写上你的web准备使用的那个网卡的IP地址,不要全局监听
启动服务并配置自启动
[root@lab102 ~]# systemctl restart graylog-server
[root@lab102 ~]# systemctl enable graylog-server
检查服务端口
[root@lab102 ~]# netstat -tunlp|grep 9000
tcp 0 0 192.168.10.2:9000 0.0.0.0:* LISTEN 160129/java
使用web进行访问
使用地址http://192.168.10.2:9000进行访问
用户名admin
密码123456
进来就是引导界面,这个地方是
1、把日志发送到graylog
2、对收集到的数据做点搜索
3、创建一个图表
4、创建告警
到这里配置graylog平台的基础工作就完成了,现在看下怎么跟ceph对接
配置ceph的支持
日志从ceph里面输出是采用的GELF UDP方式的
GELF is Graylog2 的json格式的数据,内部采用键值对的方式,ceoh内部传输出来的数据不光有message还有下面的
- hostname
- thread id
- priority
- subsystem name and id
- fsid
选择GELF UDP协议
选择节点,配置监听端口为12201,保存
在lab102上检查端口的监听情况
[root@lab102 ~]# netstat -tunlp|grep 12201
udp 0 0 0.0.0.0:12201 0.0.0.0:* 160129/java
可以看到已经监听好了
修改ceph的配置文件
#log_to_graylog = true
#err_to_graylog = true
#log_graylog_host = 192.168.10.2
#log_graylog_port = 12201
clog_to_graylog = true
clog_to_graylog_host = 192.168.10.2
clog_to_graylog_port = 12201
mon_cluster_log_to_graylog = true
mon_cluster_log_to_graylog_host = 192.168.10.2
mon_cluster_log_to_graylog_port = 12201
ceph.conf当中跟graylog有关的就是这些配置文件了,配置好端口是刚刚监听的那个udp端口,然后重启ceph服务,这里我只需要mon_cluster日志和clog,这个根据自己的需要选择
可以看到ceph -w的输出都可以在这个里面查询了
配置告警
出现异常的时候
总结
这个系统支持原生的接口接入,未来应该可以支持更多类型的日志倒入,这样相当于很容易就部署了一个日志搜索系统了,当然还有很多其他的方案,从功能完整性来说Elasticsearch要比这个强大,这套系统目前来看配置是非常的简单,也是一个优势
变更记录
Why | Who | When |
---|---|---|
创建 | 武汉-运维-磨渣 | 2017-06-09 |
使用日志系统graylog获取Ceph集群状态的更多相关文章
- 分布式存储系统之Ceph集群状态获取及ceph配置文件说明
前文我们了解了Ceph的访问接口的启用相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16727620.html:今天我们来聊一聊获取ceph集群状态和 ...
- Ceph–s ceph 集群状态
[root@ceph-mon1 ~]# ceph -s cluster 03f3afd4-4cc6-4083-a34c-845446a59cd4 health HEALTH_OK monmap e1: ...
- 02篇ELK日志系统——升级版集群之kibana和logstash的搭建整合
[ 前言:01篇LK日志系统已经把es集群搭建好了,接下来02篇搭建kibana和logstash,并整合完成整个ELK日志系统的初步搭建. ] 1.安装kibana 3台服务器: 192.168.2 ...
- kubernetes集群EFK日志系统搭建
日志收集架构 Kubernetes 集群本身不提供日志收集的解决方案,一般来说有主要的3种方案来做日志收集: 在节点上运行一个 agent 来收集日志 在 Pod 中包含一个 sidecar 容器来收 ...
- [自动化]基于kolla-ceph的自动化部署ceph集群
kolla-ceph来源: 项目中的部分代码来自于kolla和kolla-ansible kolla-ceph的介绍: 1.镜像的构建很方便, 基于容器的方式部署,创建.删除方便 2.kolla-ce ...
- ceph-deploy离线部署ceph集群及报错解决FAQ
ceph-deploy部署ceph集群 环境介绍 主机名 ip地址 操作系统 角色 备注 ceph-node1 10.153.204.13 Centos7.6 mon.osd.mds.mgr.rgw. ...
- [自动化]基于kolla的自动化部署ceph集群
kolla-ceph来源: 项目中的部分代码来自于kolla和kolla-ansible kolla-ceph的介绍: 1.镜像的构建很方便, 基于容器的方式部署,创建.删除方便 2.kolla-ce ...
- 分布式存储系统之Ceph集群启用Dashboard及使用Prometheus监控Ceph
前文我们了解了Ceph之上的RadosGW基础使用相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16768998.html:今天我们来聊一聊Ceph启 ...
- Ceph 集群整体迁移方案(转)
场景介绍:在我们的IDC中,存在着运行了3-6年的Ceph集群的服务器,这些服务器性能和容量等都已经无法满足当前业务的需求,在购入一批高性能机器后,希望将旧机器上的集群整体迁移到新机器上,当然,是保证 ...
随机推荐
- 扫描仪扫描文件处理-ABBYY自动矫正图像歪斜
修改界面语言: 设置为不识别图片文字(因为我们只需要把图片歪斜校正): 保存无损彩色格式:
- centOS7永久关闭防火墙(防火墙的基本使用(转)
查看防火墙状态: systemctl status firewalld.service 如图 绿的running表示防火墙开启 执行关闭命令: systemctl stop firewalld.ser ...
- oracle统计同一字段0和1
SELECT 班级表.班级编号,班级表.班级名称,SUM(DECODE(性别, '1', 1)) 女生人数,SUM(DECODE(性别, '0', 1)) 男生人数FROM 学生表, 班级表WHERE ...
- Redis Lua脚本完全入门
1. 前言 Redis是高性能的KV内存数据库,除了做缓存中间件的基本作用外还有很多用途,比如胖哥以前分享的Redis GEO地理位置信息计算.Redis提供了丰富的命令来供我们使用以实现一些计算.R ...
- Vue 父子组件通信入门
父组件向子组件传值 1.组件实例定义方式,注意:子组件一定要使用props属性来定义父组件传递过来的数据 <script type="text/javascript"> ...
- linux文本三剑客之grep
grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正 ...
- OpenTelemetry架构介绍
OpenTelemetry: 经得起考验的工具 摘自:https://blog.newrelic.com/product-news/what-is-opentelemetry/ 目录 OpenTele ...
- Linux 网络编程的5种IO模型:多路复用(select/poll/epoll)
Linux 网络编程的5种IO模型:多路复用(select/poll/epoll) 背景 我们在上一讲 Linux 网络编程的5种IO模型:阻塞IO与非阻塞IO中,对于其中的 阻塞/非阻塞IO 进行了 ...
- IC晶圆缺货涨价浪潮持续上涨 无线路由芯片WiFi模块受波及严重
正是多事之秋,继受美国贸易战影响后.由于晶圆供不应求,市场各大行业IC纷纷出现了断货,缺货,涨价的现象.这给了本来低迷的经济市场又一重创.WiFi路由芯片的无线路由模块必不可免的受到了波及. 晶圆代工 ...
- python实现类的多态
多态 关注公众号"轻松学编程"了解更多. 1.多态使用 一种事物的多种体现形式,举例:动物有很多种 注意: 继承是多态的前提 函数重写就是多态的体现形式 演示:重写Animal类 ...