返回

M1 Mac 上 CentOS 8 中使用 Docker 安装 ELK 栈和 MongoDB

开发工具

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 证书和密钥。