不积跬步无以至千里

记录精彩的程序人生

  • 首页
  • Java
  • Golang
  • PHP
  • Python
  • Nodejs
  • Lua
  • Docker
  • DevOps
  • 文章归档
  • 默认分类
  • 关于
  • 标签

  • 搜索
PostgreSQL hbase 时间同步 nexus 开机启动 nexus, 开机启动 jenkins安装配置 gitlab安装配置 gitlab安装 文件系统 fastdfs gcc切换 gcc升级 mysql8 交换空间 虚拟内存 tcp thrift lua tag test VPN SoftEtherVPN homebrew asm spring tomcat maven jdk ios mac 图案字符 figlet mysql半同步复制 mysql主从同步 一主多从 一主一从 主从同步 反向代理 密码重置 test 虚拟机扩容 swap 虚拟空间 docker ldocker grpc-gateway protobuf 微服务 go grp GRPC 授权登录 OAuth2.0 SOA supervisord supervisor RPC CentOS rabbitmq 环境变量 php-fpm php.ini error php7 lnmp 编译安装 mysql nginx linux java php python redis 字符串操作 mysql5.7 Solo

ELK日志系统

发表于 2021-09-12 | 分类于 默认分类 | 0 | 阅读次数 1640

解释

"ELK"是三个开源项目的首字母缩略词:Elasticsearch, Logstash, Kibana。Elasticsearch(简称es)是一个搜索和分析引擎,Logstash是一个可以从多个来源收集数据的服务端数据处理管道,并且转换数据然后发送另一个地方,比如es。Kibana可以让用户可视化es中的数据,比如树状图、曲线图等等。

为什么使用ELK

elk扩展性很强,开源,可视化功能丰富,数据查询速度为秒级,无需从0开始开发,节约成本,并且es在以后也可以用于全文搜索功能。

开始安装

安装es

a. 导入GPG key:

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

b. 添加repo:

wget https://gist.githubusercontent.com/Jaggle/63591584742665d9b6178c55e1c9f5cd/raw/1cf2eb4a5e7d82f3d2166730df0cbadf20be47dd/es -O /etc/yum.repos.d/elasticsearch.repo

c. install:

es版本更新比较快,目前采用的是6.2.2版本,请优先安装该版本

sudo yum install elasticsearch

d. run es

对于rhel 6:

需要创建一个非root用户来运行es,然后可以使用supervisor来管理es的进程

对于 rhel7:

systemctl start elasticsearch

c. check

通过浏览器访问 http://server_ip:9200 检查是否启动成功

安装Logstash

安装Logstash 需要先确保系统中有java8, 使用命令`java -version`来检查。

a. 添加repo

执行如下命令:

echo '[logstash-6.x] name=Elastic repository for 6.x packages baseurl=https://artifacts.elastic.co/packages/6.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md' > /etc/yum.repos.d/logstash.repo

b. install

sudo yum install logstash

c. config

sed -i 's|# path.config:|path.config: /etc/logstash/conf.d/*.conf|g' /etc/logstash/logstash.yml

mkdir -p /etc/logstash/conf.d

以下配置需要提供redis的连接信息,请自行修改

echo 'input {
    redis {
        data_type => "pattern_channel"
        key => "redis_pattern_channel-*"
        password => "请替换redis密码"
        host => "localhost"
        port => 6379
        threads => 1
    }
}
output {
    elasticsearch {
        hosts => ["localhost:9200"]
        index => "log-%{channel}"
    }
    stdout {
        codec => plain
    }
}' > /etc/logstash/conf.d/redis_pattern_channel.conf

d. run logstash

systemctl start logstash

安装kibana

a. add repo

echo "[kibana-6.x] name=Kibana repository for 6.x packages baseurl=https://artifacts.elastic.co/packages/6.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md " > /etc/yum.repos.d/kibana.repo

b. install

sudo yum install kibana 

c. run kibana

systemctl start kibana

d. config nginx

建议给kibana添加一个友好的域名,比如 http://test-log.xmebank.com,并添加http basic 访问控制

nginx配置:
server {
    listen  80;
    server_name  test-log.xmebank.com;
    access_log /var/log/nginx/access.log;
    location / {
        proxy_pass http://127.0.0.1:5601/;
        proxy_redirect default;
        auth_basic "auth";
        auth_basic_user_file test-log-auth;
        autoindex on;
    }
}
生成密码:
printf "xmebank:$(openssl passwd -crypt xm666666)\n" > /etc/nginx/test-log-auth
密码为:
xmebank
xm666666

e. 访问 kibana

http://test-log.domain.com

Docker升级至1.9.1版本-Centos6.8
分布式文件系统之MooseFS
  • 文章目录
  • 站点概览
ken

ken

记录精彩的程序人生

498 日志
9 分类
77 标签
RSS
Creative Commons
Links
  • 酷壳
0%
© 2010 — 2026 ken
由 Halo 强力驱动
鄂ICP备18013899号-1