返回
M1 Mac 上 CentOS 8 中使用 Docker 安装 ELK 栈和 MongoDB
开发工具
2023-04-26 23:56:10
Docker 上的 ELK 栈和 MongoDB:CentOS 8 M1 Mac 安装指南
1. 安装 Docker
- 打开终端,输入命令:
curl -fsSL https://get.docker.com/ | sh
- 输入密码并按回车。
- 安装完成后重启 Mac。
2. 安装 Elasticsearch
- 打开终端,输入命令:
docker pull elasticsearch:7.14.2
- 调整虚拟机内存(如有必要):
sysctl -w vm.max_map_count=262144
- 启动 Elasticsearch:
docker run -d -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.14.2
3. 安装 Logstash
- 打开终端,输入命令:
docker pull logstash:7.14.2
- 启动 Logstash:
docker run -d -p 5000:5000 -v /var/log/:/logs -e "LS_JAVA_OPTS=-Xmx256m" logstash:7.14.2
4. 安装 Kibana
- 打开终端,输入命令:
docker pull kibana:7.14.2
- 启动 Kibana:
docker run -d -p 5601:5601 -e "ELASTICSEARCH_HOSTS=http://localhost:9200" kibana:7.14.2
5. 安装 MongoDB
- 打开终端,输入命令:
docker pull mongo:4.4.6
- 启动 MongoDB:
docker run -d -p 27017:27017 -v /data/db:/data/db mongo:4.4.6
6. 测试 ELK 栈和 MongoDB
- 打开 Kibana Web 界面:http://localhost:5601
- 创建索引:
PUT /my-index
{
"settings": {
"number_of_shards": 1,
"number_of_replicas": 0
}
}
- 插入数据:
POST /my-index/_doc/1
{
"name": "John Doe",
"age": 30
}
- 搜索数据:
GET /my-index/_search
{
"query": {
"match": {
"name": "John Doe"
}
}
}
7. 优化 ELK 栈和 MongoDB 性能
- 调整 Elasticsearch JVM 内存:
docker run -d -p 9200:9200 -p 9300:9300 -e "ES_JAVA_OPTS=-Xmx1g -Xms1g" elasticsearch:7.14.2
- 调整 Logstash JVM 内存:
docker run -d -p 5000:5000 -v /var/log/:/logs -e "LS_JAVA_OPTS=-Xmx256m -Xms128m" logstash:7.14.2
- 调整 Kibana JVM 内存:
docker run -d -p 5601:5601 -e "ELASTICSEARCH_HOSTS=http://localhost:9200" -e "KIBANA_JAVA_OPTS=-Xmx1g -Xms1g" kibana:7.14.2
- 调整 MongoDB 内存:
docker run -d -p 27017:27017 -v /data/db:/data/db -e "MONGODB_MEMORY=256MB" mongo:4.4.6
8. 结论
本指南演示了如何在 CentOS 8 M1 Mac 上使用 Docker 安装 ELK 栈和 MongoDB。我们还提供了性能优化提示,以帮助你充分利用这一强大技术组合。
常见问题解答
1. 如何检查 Elasticsearch 是否正在运行?
- 使用命令:docker ps | grep elasticsearch
2. 如何连接到 Kibana?
- 打开 Web 浏览器,并导航到 http://localhost:5601
3. 如何将数据从 Logstash 发送到 Elasticsearch?
- 在 Logstash 配置文件中指定 Elasticsearch 输出插件。
4. 如何备份 MongoDB 数据?
- 使用 mongodump 工具创建快照。
5. 如何在 ELK 栈中启用 SSL 加密?
- 在 Elasticsearch、Logstash 和 Kibana 的配置文件中配置 SSL 证书和密钥。