• 使用docker安装elk


    配置要求:一台Linux服务器,内存不少于2g,centos7以上系统

    1.安装docker

    安装教程CentOS Docker 安装 | 菜鸟教程

    分以下几个步骤(我只写我使用过的方式):

    curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

    安装 Docker Engine-Community

    1. yum install -y yum-utils \
    2. device-mapper-persistent-data \
    3. lvm2

    安装 Docker Engine-Community

    yum install docker-ce docker-ce-cli containerd.io

    启动 Docker

    systemctl start docker

    查看docker是否安装成功

    docker ps

     2.下载elk

    有两种方式:

    第一种:git安装

    如果没有安装git可以参考Linux安装git

    使用git命令拉取

    git clone https://github.com/deviantony/docker-elk.git/app/docker-elk

    第二种:本地下载zip包并解压通过sftp传输到服务器

    下载链接:https://github.com/deviantony/docker-elk.git/app/docker-elk

    安装方式有很多种,反正不管怎么做,总是服务器要下载docker-elk就行

    3.启动elk

    elk的基础目录结构

    1. ├── docker-compose.yml
    2. ├── elasticsearch
    3. │ ├── config
    4. │ │ └── elasticsearch.yml
    5. │ └── Dockerfile
    6. ├── extensions
    7. │ ├── apm-server
    8. │ ├── app-search
    9. │ ├── curator
    10. │ ├── logspout
    11. ├── kibana
    12. │ ├── config
    13. │ │ └── kibana.yml
    14. │ └── Dockerfile
    15. ├── LICENSE
    16. ├── logstash
    17. │ ├── config
    18. │ │ └── logstash.yml
    19. │ ├── Dockerfile
    20. │ └── pipeline
    21. │ └── logstash.conf
    22. └── README.md

    启动elk之前要安装docker-compose,而安装docker-compose之前要先安装pip

    安装pip

    yum -y install epel-release
    yum install -y yum-utils && yum-config-manager --enable epel
    yum -y install python-pip

     如果报了以下错误

    1. Extra Packages for Enterprise Linux Modular 8 - x86_64 7.5 kB/s | 98 kB 00:13
    2. Extra Packages for Enterprise Linux 8 - x86_64 264 kB/s | 8.3 MB 00:32
    3. No match for argument: python-pip
    4. Error: Unable to find a match: python-pip

    那就换个方式安装pip,不用思考那么多了,反正只要安装好docker-compose就行了

    安装python3, python3一般自带一个pip3

    1. yum install -y openssl-devel
    2. yum install -y openssl
    3. yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
    4. yum install gcc automake autoconf libtool make
    5. yum install zlib zlib-devel -y
    6. wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2rc1.tgz
    7. tar zxvf Python-3.6.2rc1.tgz
    8. cd Python-3.6.2rc1/
    9. ./configure
    10. make
    11. make install

     验证pip是否安装成功

    pip3 -V

     安装docker-compose

    pip3 install docker-compose --ignore-installed requests

     如果报了以下错误

    错误一:

    Command "python setup.py egg_info" failed with error code 1

     解决办法:

    升级版本

    1. pip install --upgrade pip
    2. 安装setuptools
    3. pip install setuptools

    错误二:

    Could not find a version that ...

     我忘了怎么写来着了,反正如果有could not find a version 这种字眼出现就是这个错误了

    解决办法:

    yum install bzip2-devel

     然后在安装python的目录下重新编译

    1. ./configure
    2. make
    3. make install

     错误三:

    raise ReadTimeoutError(self._pool, None, ‘Read timed out.‘)

    一看就是超时类的问题 

    解决办法:

    pip install --index-url https://pypi.douban.com/simple numpy==1.18.1

     然后就可以安装docker-compose了,如果安装docker-compose的时候报了一个pip3已弃用什么什么的就换成pip,好像是版本升级后pip和pip3都可以用了,这都是我经历过来的

    错误四:

    连接es的时候报401错误,这是账号密码验证失败的原因,把es认证取消掉就行了

    在elasticsearch.yml中把xpack.security.enable改成false就行了

    启动elk

    docker-compose up

     启动后就可以通过5601端口访问kibana了

    默认的账号:elastic 密码:changeme

    一些更改密码配置的可以去https://github.com/deviantony/docker-elk/wiki/External-applications

    看教程,这里就是简单的使用docker来安装elk并启动的示例

     3.汉化

    汉化很简单,elk官方现在支持中文的功能,只不过汉化面积不多,就像我上面这张图一样,还有好多英文,大家也可以自己去找网上的elk汉化插件

    编辑elk目录下的kibana/config的kibana.yml

    如果有

    i18n.locale

    这个配置就改成

    i18n.locale:"zh-CN"

    好像不用重启可以刷新以下页面就可以看到汉化后的版本了

     4.推荐一款es可视化工具ElasticHd

    1. 获取elastichd镜像

       docker pull containerize/elastichd

    2. 启动镜像

        docker run -p 9800:9800 -d containerize/elastichd 

    如果es服务器带有账号密码连接,那这个工具可能没用了,这个工具是直接连接ip+端口的,我怎么试都不知道怎么连接带有密码的es,所以我干脆把es账号认证给关了 

  • 相关阅读:
    纯电动汽车杂谈
    Go | 基本数据类型
    通达OA V12版,引入thinkphp5.1框架,及获取session
    合同法名词解释
    Delphi自定义单元模块和调用_全局函数、全局过程、全局变量、全局常量定义
    【C语言期末不挂科——指针篇1】
    肠道微生物在天然产物生物转化中的潜在作用
    vue事件总线
    sentinel-1.8.7与nacos-2.3.0实现动态规则配置、双向同步
    【GNN基础学习】图模块基本定义 || 图的邻接矩阵 || GNN中常见任务有哪些? || GNN消息传递方法 || 多层GCN有什么作用?
  • 原文地址:https://blog.csdn.net/weixin_43900374/article/details/126465079