nginx+kibana+es
docker network create --subnet=10.1.0.0/24 uat
# es 启动
docker run -d --net uat --ip 10.1.0.21 --name es -e ES_JAVA_OPTS="-Xms1024m -Xmx1024m" -e "discovery.type=single-node" \
-p 9200:9200 -p 9300:9300 elastic/elasticsearch:7.6.2
# kibana 启动
docker run -d --net uat --ip 10.1.0.22 -p 5601:5601 --name kibana -v /root/kibana.yml:/usr/share/kibana/config/kibana.yml elastic/kibana:7.6.2
# env 查看
# 尝试这两个变量均为生效,可能是版本问题 -e "elasticsearch.hosts=http://10.1.0.21:9200" -e ELASTICSEARCH_URL
[root@vm ~]# docker exec -it kibana cat /usr/share/kibana/config/kibana.yml
#
# ** THIS IS AN AUTO-GENERATED FILE **
#
# Default Kibana configuration for docker target
server.name: kibana
server.host: "0"
elasticsearch.hosts: [ "http://10.1.0.21:9200" ]
xpack.monitoring.ui.container.elasticsearch.enabled: true
# nginx
[root@~ nginx]# vim conf/nginx.conf #操作在/usr/local/nginx目录进行
location / {
auth_basic "password:"; #提示信息,用户登录网站时看到的
auth_basic_user_file "/usr/local/nginx/.pass"; #用户名密码的文件路径
proxy_pass http://10.1.0.22:5601;
}
[root@~ nginx]# yum -y install httpd-tools //安装网站工具包,支持htpasswd命令
[root@~ nginx]# htpasswd -c /usr/local/nginx/.pass abc //创建网站的用户与密码文件
New password:
Re-type new password:
[root@~ nginx]# htpasswd /usr/local/nginx/pass xyz //追加新账户,无需c选项
[root@~ nginx]# sbin/nginx -s reload //重新加载,清理浏览器测试
server{
listen 80;
server_name kibana.infomany.cn;
location / {
# 设置 auth
auth_basic "kibana login auth";
auth_basic_user_file /etc/nginx/conf.d/.htpasswd;
# 转发到 kibana
proxy_pass http://kibana:5601;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
[root@vm es-sky]# cat docker-compose.yaml
version: '3'
services:
elasticsearch:
image: elasticsearch:7.0.0
container_name: elasticsearch
privileged: true
environment:
- "cluster.name=elasticsearch"
- "TZ=Asia/Shanghai"
- "discovery.type=single-node"
- "ES_JAVA_OPTS=-Xms512m -Xmx1096m"
- bootstrap.memory_lock=true
volumes:
- ./es/plugins:/usr/share/elasticsearch/plugins
- ./es/data:/usr/share/elasticsearch/data:rw
- ./es/logs:/user/share/elasticsearch/logs:rw
ports:
- 9200:9200
- 9300:9300
[root@vm ~]# docker exec -it kibana bash
bash-4.2$ pwd
/usr/share/kibana
bash-4.2$ ls
LICENSE.txt NOTICE.txt README.txt bin built_assets config data node node_modules optimize package.json plugins src webpackShims x-pack
#[root@vm es]# docker-compose -f es-docker-compose.yaml up
#[root@vm es]# docker-compose -f es-docker-compose.yaml down
version: '3'
services:
es:
image: elasticsearch:7.6.2
container_name: elasticsearch
privileged: true
environment:
- "cluster.name=elasticsearch"
- "TZ=Asia/Shanghai"
- "discovery.type=single-node"
- "ES_JAVA_OPTS=-Xms512m -Xmx1096m"
- bootstrap.memory_lock=true
volumes:
- ./es/plugins:/usr/share/elasticsearch/plugins
- ./es/data:/usr/share/elasticsearch/data:rw
- ./es/logs:/user/share/elasticsearch/logs:rw
ports:
- 9200:9200
kibana:
container_name: kibana
image: kibana:7.6.2
ports:
- "5601:5601"
volumes:
# - "/home/volumes/kibana/config:/usr/share/kibana/config"
- "/home/volumes/kibana/log:/usr/share/kibana/log"
restart: always
depends_on:
- es
environment:
- ELASTICSEARCH_HOSTS=http://es:9200