开发者在面对 kubernetes 分布式集群下的日志需求时,常常会感到头疼,既有容器自身特性的原因,也有现有日志采集工具的桎梏,主要包括:
kubectl apply -f https://acs-logging.oss-cn-hangzhou.aliyuncs.com/elasticsearch.yml
3. 部署成功后,kube-system 命名空间下会出现相关对象,执行以下命令查看运行情况。
$ kubectl get svc,StatefulSet -n=kube-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
svc/elasticsearch-api ClusterIP 172.21.5.134 <none> 9200/TCP 22h
svc/elasticsearch-discovery ClusterIP 172.21.13.91 <none> 9300/TCP 22h
...
NAME DESIRED CURRENT AGE
statefulsets/elasticsearch 3 3 22h
kubectl apply -f https://acs-logging.oss-cn-hangzhou.aliyuncs.com/log-pilot.yml
kubectl apply -f https://acs-logging.oss-cn-hangzhou.aliyuncs.com/kibana.yml
apiVersion: v1
kind: Pod
metadata:
name: tomcat
namespace: default
labels:
name: tomcat
spec:
containers:
- image: tomcat
name: tomcat-test
volumeMounts:
- mountPath: /usr/local/tomcat/logs
name: accesslogs
env:
- name: aliyun_logs_catalina
value: "stdout" ##采集标准输出日志
- name: aliyun_logs_access
value: "/usr/local/tomcat/logs/catalina.*.log" ## 采集容器内日志文件
volumes:
- name: accesslogs
emptyDir: {}
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: kibana-ingress
namespace: kube-system #要与 kibana 服务处于同一个 namespace
spec:
rules:
- http:
paths:
- path: /
backend:
serviceName: kibana #输入 kibana 服务的名称
servicePort: 80 #输入 kibana 服务暴露的端口
$ kubectl get ingress -n=kube-system
NAME HOSTS ADDRESS PORTS AGE
shared-dns * 120.55.150.30 80 5m
$ kubectl get pods -n=kube-system #找到 elasticsearch 对应的 pod
...
$ kubectl exec -it elasticsearch-1 bash #进入 elasticsearch 的一个 pod
...
$ curl 'localhost:9200/_cat/indices?v' ## 列出所有索引
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
green open .kibana x06jj19PS4Cim6Ajo51PWg 1 1 4 0 53.6kb 26.8kb
green open access-2018.03.19 txd3tG-NR6-guqmMEKKzEw 5 1 143 0 823.5kb 411.7kb
green open catalina-2018.03.19 ZgtWd16FQ7qqJNNWXxFPcQ 5 1 143 0 915.5kb 457.5kb
5. 索引创建完毕后,单击左侧导航栏中的Discover,然后选择前面创建的 Index,选择合适的时间段,在搜索栏输入相关字段,就可以查询相关的日志。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。