ELK日志服务器docker安装使用
本文最后更新于28 天前,其中的信息可能已经过时,如有错误请发送邮件到1979007616@qq.com

简介

ELK是Elasticsearch、Logstash、Kibana三大开源框架首字母大写简称。

官网:下载 Elastic 产品 | Elastic

Docker compose安装ELK

安装docker和docker compose:Docker入门基础 – 谢幕后 (xmhweb.cn)

下载项目

apt-get install git
git clone https://github.com/deviantony/docker-elk.git
cd docker-elk

编辑配置文件vim docker-compose.yml,添加container_name参数,默认的容器名称太冗长了

container_name: elasticsearch

docker-compose.yml文件中有容器自启设置:restart:unless-stopped

restart:unless-stopped:容器意外停止或退出时,Docker 会重新启动容器

restart:always:无论容器是如何停止的,都会自动重新启动【即使是手动停止的】

启动项目

使用docker-compose up -d来启动项目。

docker-compose up 和 docker-compose up -d 都用于启动 Docker Compose 中定义的服务,但它们之间有一些区别:

docker-compose up:这个命令会启动 Docker Compose 文件中定义的所有服务,并在终端中实时输出它们的日志。当你使用此命令时,你可以看到每个服务的输出,以便及时了解它们的状态和日志信息。通常在开发或调试过程中使用,因为可以即时查看服务的输出。

docker-compose up -d:这个命令也会启动 Docker Compose 文件中定义的所有服务,但是使用 -d 参数,它会在后台运行服务,不会将服务的输出显示在终端上。与 docker-compose up 不同,它不会实时输出服务的日志信息,而是将服务放在后台运行。通常在生产环境中使用,因为在生产环境中通常不需要即时查看服务的日志,而是希望服务在后台默默地运行。

总的来说,docker-compose up 更适合开发和调试,而 docker-compose up -d 更适合生产环境中的部署。

要完全关闭堆栈并删除所有持久化数据,请使用以下 Docker Compose 命令:docker-compose down -v

为了验证,我们可以使用浏览器或者 curl 等工具访问机器地址加端口号 9200,并使用默认用户名elastic和默认密码changeme来访问 Elasticsearch HTTP 端口,如果一切正常,你将看到类似下面的结果。

{
    "name": "elasticsearch",
    "cluster_name": "docker-cluster",
    "cluster_uuid": "7S0UwLQTQKmkGNh4cgWbnQ",
    "version": {
        "number": "8.13.2",
        "build_flavor": "default",
        "build_type": "docker",
        "build_hash": "16cc90cd2d08a3147ce02b07e50894bc060a4cbf",
        "build_date": "2024-04-05T14:45:26.420424304Z",
        "build_snapshot": false,
        "lucene_version": "9.10.0",
        "minimum_wire_compatibility_version": "7.17.0",
        "minimum_index_compatibility_version": "7.0.0"
    },
    "tagline": "You Know, for Search"
}

现在不着急访问 Kibana ,我们继续进行配置调整。

重置内建用户密码

使用docker-compose exec -T elasticsearch bin/elasticsearch-setup-passwords auto --batch命令对服务默认的账户进行默认密码重置,输出如下:

Changed password for user apm_system
PASSWORD apm_system = dLa1we2mehIDvxKjdRNu

Changed password for user kibana_system
PASSWORD kibana_system = ZacLOywPlQ2O2qrBsXVb

Changed password for user kibana
PASSWORD kibana = ZacLOywPlQ2O2qrBsXVb

Changed password for user logstash_system
PASSWORD logstash_system = pnmP0Tl5mw8S025uMpNt

Changed password for user beats_system
PASSWORD beats_system = VVongPz5BdogJH7CA0hR

Changed password for user remote_monitoring_user
PASSWORD remote_monitoring_user = nIiOwnwWYda0ZhQX0Ot5

Changed password for user elastic
PASSWORD elastic = OoXkxKNwAHjbfOyy8VbU

将密码妥善保存后,我们需要将 docker-compose.yml 配置文件中的 elasticsearch 服务的 ELASTIC_PASSWORD 删除,这样可以确保服务启动只使用我们刚刚重置后的密码。

同时需要对 kibana 、 logstash 配置文件中的信息进行替换,将文件中的 elastic 用户的密码进行更新。前面两个文件好像不修改也是可以的,可能需要将kibana.yml文件中的kibana_system用户密码进行替换一下。

  • kibana/config/kibana.yml
  • logstash/config/logstash.yml
  • logstash/pipeline/logstash.conf

需要注意的是, logstash pipeline 需要一个高权限账号vim logstash/pipeline/logstash.conf,将用户名和密码替换成elastic的:

output {
        elasticsearch {
                hosts => "elasticsearch:9200"
                user => "elastic"
                password => "OoXkxKNwAHjbfOyy8VbU"
        }
}

在配置修改完毕后,我们执行 docker-compose restart 重启相关服务。

修改默认语言

默认 kibana的界面是英文,设置过程也比较简单:

修改kibana的配置文件(/kibana/config/kibana.yml),在最下方添加一行:i18n.locale: "zh-CN"。汉化的不是很彻底,总比全英文好一点。

设置好后重启kibana容器:docker restart kibana

使用 Kibana 控制台

使用浏览器访问服务器IP+端口5601,打开 kibana 控制台。使用elastic 账号和密码登录后,就能够看到 Kibana 的界面了。

使用方法

暂未找到

相关链接

使用 Docker 搭建 ELK 环境 – 知乎 (zhihu.com)

小提示:您可以通过RSS订阅本站文章更新,订阅地址:https://blog.xmhweb.cn/feed

评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇