当前位置: 首页 > news >正文

济南建设网站制作优化分析58上怎么做装修网站

济南建设网站制作优化分析,58上怎么做装修网站,建设银行ETC的网站是哪个,网件路由器登录网址小阿轩yx-Kubernertes日志收集 前言 在 Kubernetes 集群中如何通过不同的技术栈收集容器的日志#xff0c;包括程序直接输出到控制台日志、自定义文件日志等 有哪些日志需要收集 日志收集与分析很重要#xff0c;为了更加方便的处理异常 简单总结一些比较重要的需要收集…小阿轩yx-Kubernertes日志收集 前言 在 Kubernetes 集群中如何通过不同的技术栈收集容器的日志包括程序直接输出到控制台日志、自定义文件日志等 有哪些日志需要收集 日志收集与分析很重要为了更加方便的处理异常 简单总结一些比较重要的需要收集日志 服务器系统日志Kubernetes 组件日志应用程序日志 除了这些日志外可能还存在其它很多需要采集的日志比如网关日志、服务之间调用链日志 日志采集工具有哪些 ELK 和 EFK 传统的架构中 比较成熟且流行的日志收集平台是 ELKElasticsearchLogstashKibana其中 Logstash 负责采集日志并输出给 Elasticsearch之后用 Kibana 进行展示。几乎所有的服务都可以进行容器化ELK 技术栈同样可以部署到 Kubernetes 集群中也可以进行相关的日志收集 但是由于 Logstash 比较消耗系统资源并且配置稍微有点复杂因此 Kubernetes 官方提出了 EFKElasticsearchFluentdKibana的解决方案 相对于 ELK 中的 Logstash Fluentd 采用一锅端的形式可以直接将某些日志文件中的内容存储至 Elasticsearch然后通过 Kibana进行展示。 Fluentd 缺陷 它只能收集控制台日志程序直接输出到控制台的日志不能收集非控制台的日志所以很难满足生产环境的需求因为大部分情况下没有遵循云原生理念开发的程序往往会输出很多日志文件这些容器内的日志无法采集除非在每个 Pod 内添加一个 sidecar将日志文件的内容进行 tail -f 转换成控制台日志但这也是非常麻烦的。 另一个问题 大部分公司内都有很成熟的 ELK 平台如果再搭建一个 EFK 平台属于重复当然用来存储日志的 Elasticsearch 集群不建议搭建在 Kubernetes 集群中因为会非常浪费 Kubernetes 集群的资源所以大部分情况下通过 Fluentd 采集日志输出到外部的 Elasticsearch 集群中。 总结 Fluentd 功能有限Logstash 太重所以需要一个中和的工具进行日志的收集工作此时就可以采用一个轻量化的收集工具Filebeat。 Filebeat 早期的 ELK 架构中 日志收集均以 Logstash 为主Logstash 负责收集和解析日志对内存、CPU、IO 资源的消耗比较高但是 Filebeat 所占系统的 CPU 和内存几乎可以忽略不计。 由于 Filebeat 本身是比较轻量级的日志采集工具因此 Filebeat 经常被用于以 Sidecar 的形式配置在 Pod 中用来采集容器内冲虚输出的自定义日志文件。 Filebeat 同样可以采用 DaemonSet 的形式部署在 Kubernetes 集群中用于采集系统日志和程序控制台输出的日志。Fluentd 和 Logstash 可以将采集的日志输出到 Elasticsearch 集群Filebeat 同样可以将日志直接存储到 Elasticsearch 中但是为了更好的分析日志或者减轻 Elasticsearch 的压力一般都是将日志先输出到 Kafka再由 Logstash 进行简单的处理最后输出到 Elasticsearch 中。 新贵 Loki 上述讲的无论是 ELK、EFK 还是 Filebeat都需要用到Elasticsearch 来存储数据 Elasticsearch 本身就像一座大山维护难度和资源使用都是偏高的。 对于很多公司而言热别是创新公司可能并不想大费周章的去搭建一个 ELK、EFK或者其他重量级的日志平台刚开始的人力投入可能是大于收益的所以就需要一个更轻量级的日志收集平台。 一个基于 Kubernetes 平台的原生日志收集平台 Loki stack 应运而生解决了上述的问题和难点一经推出就受到了用户的青睐。 Loki 是 Grafana Labs 开源的一个日志聚合系统。 优势 支持水平扩展、高可用、多租户的 Loki 的架构图 Loki 主要包含的组件 Loki主服务器负责日志的存储和査询参考了prometheus 服务发现机制将标签添加到日志流而不是想其他平台一样进行全文索引。Promtail负责收集日志并将其发送给 Loki主要用于发现采集目标以及添加对应 Labe1最终发送给 Loki。Grafana用来展示或查询相关日志可以在页面査询指定标签 Pod 的日志。 和其他工具相比 虽然 Loki 不如其他技术栈功能灵活但是 Loki 不对日志进行全文索引仅索引相关日志的元数据所以 Loki 操作起来更简单、更省成本。而且 Loki 是基于 Kubernetes 进行设计的可以很方便的部署在 Kubernetes 上并且对集群的 Pod 进行日志采集采集时会将 Kubernetes 集群中的一些元数据自动添加到日志中让技术人员可以根据命名空间、标签字段进行日志的过滤可以很快的定位到相关日志。 对于平台的选择没有最好只有最合适 比如公司内已经有了很成熟的 ELK平台那么我们可以直接采用 Fluentd 或 Filebeat然后将 Kubernetes 的日志输出到已存在的 Elasticsearch集群中即可。如果公司并没有成熟的平台支持又不想耗费很大的精力和成本去建立一个庞大的系统那么 Loki stack 将会是一个很好的选择。 使用 EFK 收集控制台日志 首先我们使用 EFK 收集 Kubernetes 集群中的日志本实验是在 Kubernetes 集群中启动一个 Elasticsearch 集群如果企业已经有了 Elasticsearch 集群可以直接将日志输出到已有的Elasticsearch集群中。 首先将 images-elk 镜像文件通过 Xftp 上传至 master、node01、node02101、102、103 将 efk-7.10.2 文件单独上传至 master101 这一步开启会话同步 进入镜像文件三个节点同时导入镜像  主机一 [rootk8s-master ~]# cd images/ [rootk8s-master images]# bash imp_docker_img.sh 主机二 [rootk8s-node01 ~]# cd images/ [rootk8s-node01 images]# bash imp_docker_img.sh 主机三 [rootk8s-node02 ~]# cd images/ [rootk8s-node02 images]# bash imp_docker_img.sh 取消会话同步 部署 ElasticsearchFluentdKibana 下载需要的部署文档 https://github.com/dotbalo/k8s.git get clone本案例已经下载好可以直接使用 进入 ELK 目录 [rootk8s-master ~]# cd efk-7.10.2/ 创建 EFK 所用的命名空间 [rootk8s-master efk-7.10.2]# kubectl create -f create-logging-namespace.yaml namespace/logging created 创建 Elasticsearch 群集已有该平台可以不创建 [rootk8s-master efk-7.10.2]# kubectl create -f es-service.yaml service/elasticsearch-logging created 为 es 集群创建服务以便为Fluentd 提供数据传入的端口 获取 SVC 状态信息 [rootk8s-master efk-7.10.2]# kubectl get svc -n logging NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE elasticsearch-logging ClusterIP None none 9200/TCP,9300/TCP 20s 9200 端口用于所有通过 HTTP 协议进行的 API 调用。包括搜索、聚合、监控、以及其他任何使用HTTP 协议的请求。所有的客户端库都会使用该端口与 Elasticsearch 进行交互。9300 端口是一个自定义的二进制协议用于集群中各节点之间的通信。用于诸如集群变更、主节点选举、节点加入/离开、分片分配等事项。 将文件创建出来 [rootk8s-master efk-7.10.2]# kubectl create -f es-statefulset.yaml serviceaccount/elasticsearch-logging created clusterrole,rbac.authorization.k8s.io/elasticsearch-logging created clusterrolebinding.rbac.authorization.k8s.io/elasticsearch-logging created statefulset.apps/elasticsearch-logging created 创建 es 集群 获取 pod 的状态 [rootk8s-master efk-7.10.2]# kubectl get pod -n logging NAME READY STATUS RESTARTS AGE elasticsearch-logging-0 1/1 Running 0 5m21s 创建 Kibana已有该平台可以不创建 [rootk8s-master efk-7.10.2]# kubectl create -f kibana-deployment.yaml -f kibana-service.yaml deployment.apps/kibana-logging created service/kibana-logging created 修改 Fluentd 的部署文件 由于在 Kubernetes 集群中可能不需要对所有的机器都采集日志因此可以更改 Fluentd 的部署文件。 添加一个 NodeSelector只部署至需要采集日志的主机即可。 [rootk8s-master efk-7.10.2]# grep nodeSelector fluentd-es-ds.yaml -A 3 nodeSelector:fluentd: truevolumes:- name: varlog 为需要采集日志的服务器设置标签 [rootk8s-master efk-7.10.2]# kubectl label node k8s-node01 fluentdtrue node/k8s-node01 labeled [rootk8s-master efk-7.10.2]# kubectl label node k8s-node02 fluentdtrue node/k8s-node02 labeled [rootk8s-master efk-7.10.2]# kubectl label node k8s-master fluentdtrue 获取 node 节点的标签信息 [rootk8s-master efk-7.10.2]# kubectl get node -l fluentdtrue --show-labels NAME STATUS ROLES AGE VERSION LABELS k8s-master Ready none 8d v1.23.6 beta.kubernetes.io/archamd64,beta.kubernetes.io/oslinux,fluentdtrue,kubernetes.io/archamd64,kubernetes,io/hostnamek8s-master01,kubernetes,io/oslinux,node.kubernetes.io/node k8s-node01 Ready none 8d v1.23.6 beta.kubernetes.io/archamd64,beta.kubernetes.io/oslinux,fluentdtrue,kubernetes.io/archamd64,kubernetes,io/hostnamek8s-master01,kubernetes,io/oslinux,node.kubernetes.io/node k8s-node02 Ready none 8d v1.23.6 beta.kubernetes.io/archamd64,beta.kubernetes.io/oslinux,fluentdtrue,kubernetes.io/archamd64,kubernetes,io/hostnamek8s-master01,kubernetes,io/oslinux,node.kubernetes.io/node 创建 Fluentd [rootk8s-master efk-7.10.2]# kubectl create -f fluentd-es-ds.yaml -f fluentd-es-configmap.yaml serviceaccount/fluentd-es created clusterrole.rbac.authorization.k8s,io/fluentd-es created clusterrolebinding.rbac.authorization.k8s,io/fluentd-es createddaemonset.apps/fluentd-es-v3.1.1 created configmap/fluentd-es-config-v0.2.1 created fluentd 的 ConfigMap 有一个字段需要注意在 fluentd-es-configmap.yaml 文件的最后有一个output.conf: host elasticsearch-logging port 9200 此处的配置将收集到得数据输出到指定的 Elasticsearch 集群中由于创建 Elasticsearch 集群时会自动创建一个名为 elasticsearch-logging 的 Service因此默认 Fluentd 会将数据输出到前面创建的 Elasticsearch 集群中。 如果企业已经存在一个成熟的 ELK 平台可以创建一个同名的 Service 指向该集群然后就能输出到现有的 Elasticsearch 集群中。 例如 apiVersion: v1 kind: Service metadata:name: elasticsearch-loggingnamespace: logging spec:type: ExternalNameexternalName: www.es.com externalName: www.es.com指向了外部 es 主机的地址或域名 match ** ...host elasticsearch-loggingport 9200logstash format true .../match host elasticsearch-logging指定 fluentd 获取的日志要发往的主机port 9200目标es 主机的端口号logstash_format true指定是否使用常规的 index 命名格式,(1ogstash-%.%m.%d)默认为 false Kibana 的使用 确认创建的 Pod 已经成功启动 [rootk8s-master efk-7.10.2]# kubectl get pod -n logging NAME READY STATUS RESTARTS AGE elasticsearch-logging-0 1/1 Running 0 34m fluentd-es-v3.1.1-7pm5p 1/1 Running 0 92s fluentd-es-v3.1.1-wddc9 1/1 Running 0 15m kibana-logging-7df48fb7b4-frfj6 1/1 Running 0 33m 查看 kibana 暴露的端口 [rootk8s-master efk-7.10.2]# kubectl get svc -n logging NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE elasticsearch-logging ClusterIP None none 9200/TCP,9300/TCP 35m kibana-logging NodePort 10.104.162.209 none 5601:32734/TCP 34m 访问 kibana 使用任意一个部署了 kube-proxy 服务的节点的 IP32734 端口即可访问 kibana。 https://192.168.10.101:32734/kibana 创建一个 Pod 进行日志采集 编写 nginx 部署文件 [rootk8s-master efk-7.10.2]# cat nginx-service.yaml apiVersion: v1 kind: Service metadata:name: mynginxnamespace: defaultlabels:app: mynginx spec:type: LoadBalancerports:- port: 80targetPort: httpprotocol: TCPname: httpselector:app: mynginx --- apiVersion: apps/v1 kind: Deployment metadata:name: mynginx-deploymentnamespace: defaultlabels:app: mynginx spec:replicas: 2selector:matchLabels:app: mynginxtemplate:metadata:labels:app: mynginxspec:containers:- name: mynginximage: nginx:1.15.2ports:- name: httpcontainerPort: 80protocol: TCP 部署该 Dployment [rootk8s-master efk-7.10.2]# kubectl create -f nginx-service.yaml 查看 pod 状态 [rootk8s-master efk-7.10.2]# kubectl get pod NAME READY STATUS RESTARTS AGE mynginx-deployment-86655474f9-74whc 1/1 Running 0 34m mynginx-deployment-86655474f9-zc5xh 1/1 Running 0 92s 查看暴露的端口 [rootk8s-master efk-7.10.2]# kubectl get svc -n default NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.96.0.1 none 443/TCP 13d mynginx LoadBalancer 10.109.192.36 none 80:32019/TCP 12m 客户端访问测试 [rootk8s-master efk-7.10.2]# curl 192.168.10.101:32019 到 kibana 上查看 使用 Filebeat 收集自定义文件日志 基于云原生 12 要素开发的程序一般会将日志直接输出到控制台并非是指定一个文件存储日志这一点和传统架构还是有区别的。 公司内的程序并非都是基于云原生要素开发 一些年代已久的程序这类程序如果部署至 Kubernetes 集群中就需要考虑如何将输出至本地文件的日志采集到 Elasticsearch。 之前了解到 Filebeat 是一个非常轻量级的日志收集工具可以将其和应用程序部署至一个 Pod中通过 Volume 进行日志文件的共享之后 Filebeat 就可以采集里面的数据并推送到日志平台。 本案例为了减轻 Elasticsearch 的压力 引入 Kafka 消息队列来缓存日志数据之后通过Logstash 简单处理一下日志最后再输出到 Elasticsearch 集群。这种架构在生产环境中也是常用的架构因为日志数量可能比较多同时也需要对其进行加工。当然 Fluentd 也可以将日志输出到 Kafka。 安装 helm 客户端如果已有此工具可跳过此步骤 下载安装包 https://get.helm.sh/helm-v3.6.2-linux-amd64.atr.gzhttp://https://get.helm.sh/helm-v3.6.2-linux-amd64.atr.gz 解压 [rootk8s-master ~]# tar zxvf helm-v3.9.4-linux-amd64.tar.gz 查看版本 [rootk8s-master ~]# helm version version.BuildInfo{Version:v3.6.2, GitCommit:ee407bdf364942bcb8e8c665f82e15aa28009b71,GitTreestate:clean, GoVersion:go1.16.5} 创建 Kafka 和 Logstash 进入 filebeat 目录 [rootk8s-master ~]# cd elk-7.10.2/filebeat/ 查看 zookeeper 状态 [rootk8s-master filebeat]# kubectl get pod -n logging -l app.kubernetes.io/namezookeeper -l指定标签等一会部署好显示状态为 Running 部署 kafka [rootk8s-master filebeat]# helm install kafka kafka/ -n logging 查看 kafka 状态 [rootk8s-master filebeat]# kubectl get pod -n logging -l app.kubernetes.io/componentkafka 等一会部署好显示状态为 Running 创建 logstash 服务 [rootk8s-master filebeat]# kubectl create -f logstash-service.yaml -f logstash-cm.yaml -f logstash.yaml -n logging 注入 Filebeat Sidecar 创建一个模拟程序 [rootk8s-master filebeat]# kubectl create -f filebeat-cm.yaml -f app-filebeat.yaml -n logging 查看 pod 状态 [rootk8s-master filebeat]# kubectl get pod -n logging [rootk8s-master filebeat]# kubectl get svc -n logging [rootk8s-master filebeat]# kubectl get svc 这个 mynginx 的 svc 是创建在了 default 的命名空间的。 查看日志中的内容 [rootk8s-master filebeat]# kubectl exec app-ddf4b6db9-thtbs -n logging -- tail /opt/date.log 最后返回主目录删除 EFK [rootk8s-master ~]# rm -rf images-efk/ 最后删除整个 EFK 目录文件不要影响后面的 Loki 实验 Loki 安装 Loki Stack如果已安装忽略此步骤 首先将 images-loki 镜像文件通过 Xftp 上传至 master、node01、node02101、102、103 将 loki 文件单独上传至 master101 解压 [rootk8s-master ~]# tar zxvf helm-v3.9.4-linux-amd64.tar.gz 将文件拷贝到指定目录下 [rootk8s-master ~]# cp linux-amd64/helm /usr/bin 添加安装源 [rootk8s-master ~]# helm repo add grafana 下载 loki-stack如已有离线包忽略此步骤 https://grafana.github.io/helm-charts [rootk8s-master ~]# helm repo update grafana has been added to your repositories Hang tight while we grab the latest from your chart repositories......Successfully got an update from the grafana chart repository 其他安装源 helm repo add loki https://grafana.github.io/loki/charts helm repo update 查看列表 [rootk8s-master ~]# helm repo list 查看版本信息 [rootk8s-master ~]# helm search repo loki-stack NAME CHART VERSION APP VERSION DESCRIPTION grafana/loki-stack2.8.3 v2.6.1 loki: like Prometheus,but for logs. 拉取 [rootk8s-master ~]# helm pull grafana/loki-stack --version 2.8.3 创建 Loki 命名空间 [rootk8s-master ~]# kubectl create ns loki namespace/loki created 解压 Loki 源码包 [rootk8s-master ~]# tar zxvf loki-stack-2.8.3.tgz 创建 Loki Stack [rootk8s-master ~]# helm upgrade --install loki loki-stack --set grafana.enabledtrue --set grafana.service.typeNodePOrt -n loki Release loki does not exist. Installing it now. W0903 18:20:24.050253 36913 warnings.go:70]policy/v1betal PodsecurityPolicy is deprecated in v1.21,unavailable in v1.25W0903 18:20:24.05224336913 warnings.go:70]policy/v1beta1 PodsecurityPolicy isdeprecated in v1.21,unavailable in v1.2536913 warnings.go:70]policy/v1betal PodsecurityPolicy isW0903 18:20:24.055204deprecated in v1.21,unavailable in v1.25 W0903 18:20:24.14278636913 warnings.go:70]policy/v1beta1 PodsecurityPolicy isdeprecated in v1.21,unavailable in v1.25 W0903 18:20:24.14297636913 warnings.go:70]policy/v1betal PodsecurityPolicy isdeprecated in v1.21,unavailable in v1.25 36913 warnings.go:70]policy/v1beta1 PodsecurityPolicy isW0903 18:20:24.143197deprecated in v1.21,unavailable in v1.25NAME: loki LAST DEPLOYED:Sat sep 3 18:20:23 2022NAMESPACE: loki STATUS:deployed REVISION:1 NOTES : The Loki stack has been deployed to your cluster. Loki can now be added as a datasourcein Grafana. See http://docs.grafana.org/features/datasources/loki/ for more detail. 查看 Pod 状态 [rootk8s-master ~]# kubectl get pod -n loki NAME READY STATUS RESTARTS AGE loki-0 1/1 Running 0 2m12s loki-grafana-64977c65f6-f26jk 1/1 Running 0 34m loki-promtail-6bv2f 1/1 Running 0 92s loki-promtail-xhlfc 1/1 Running 0 2m12s loki-promtail-zscq9 1/1 Running 0 2m12s 查看暴露的端口 [rootk8s-master efk-7.10.2]# kubectl get svc -n loki NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE loki ClusterIP 10.111.100.11 none 3100/TCP 2m40s loki-grafana LoadBalancer 10.96.88.143 none 80:32734/TCP 2m40s loki-headless ClusterIP None none 3100/TCP 2m40s loki-memberlist ClusterIP None none 7946/TCP 2m40s 查看 grafana 的密码 [rootk8s-master ~]# kubectl get secret loki-grafana --namespace loki -o jsonpath{.data.admin-password} | base64 --decode;echo AfA2tYlsaPdy6hk1DB0xYfB7YZLf0501JsGtwcBV 修改密码 [rootk8s-master ~]# kubectl exec -it loki-grafana-595d45d694-htg29 -n loki -c grafana grafana-cli admin reset-admin-password admin 账号为admin 登录 https://192.168.10.101:32734 创建一个 Pod 进行日志采集 还是前面的 pod 编写 nginx 部署文件 [rootk8s-master ~]# cat nginx-service.yaml apiVersion: v1 kind: Service metadata:name: mynginxnamespace: defaultlabels:app: mynginx spec:type: LoadBalancerports:- port: 80targetPort: httpprotocol: TCPname: httpselector:app: mynginx --- apiVersion: apps/v1 kind: Deployment metadata:name: mynginx-deploymentnamespace: defaultlabels:app: mynginx spec:replicas: 2selector:matchLabels:app: mynginxtemplate:metadata:labels:app: mynginxspec:containers:- name: mynginximage: nginx:1.15.2ports:- name: httpcontainerPort: 80protocol: TCP 部署该 Dployment [rootk8s-master ~]# kubectl create -f nginx-service.yaml 查看 pod 状态 [rootk8s-master ~]# kubectl get pod NAME READY STATUS RESTARTS AGE mynginx-deployment-86655474f9-74whc 1/1 Running 0 2m12s mynginx-deployment-86655474f9-zc5xh 1/1 Running 0 2m12s 查看暴露的端口 [rootk8s-master ~]# kubectl get svc -n default NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.96.0.1 none 443/TCP 13d mynginx LoadBalancer 10.109.192.36 pending 80:32019/TCP 12m 客户端访问测试 [rootk8s-master ~]# curl 192.168.10.101:32019 在 Loki 中查看此 Pod 的日志 {namespacedefault,podmynginx-deployment-668d5454cb-lldng} {namespacekube-system} {namespacekube-system,podcalico-node-gwtqw} 小阿轩yx-Kubernertes日志收集
文章转载自:
http://www.morning.wlqbr.cn.gov.cn.wlqbr.cn
http://www.morning.snbry.cn.gov.cn.snbry.cn
http://www.morning.rdnjc.cn.gov.cn.rdnjc.cn
http://www.morning.lmrcq.cn.gov.cn.lmrcq.cn
http://www.morning.cftkz.cn.gov.cn.cftkz.cn
http://www.morning.btpzn.cn.gov.cn.btpzn.cn
http://www.morning.ngkgy.cn.gov.cn.ngkgy.cn
http://www.morning.ffdyy.cn.gov.cn.ffdyy.cn
http://www.morning.pljxz.cn.gov.cn.pljxz.cn
http://www.morning.fnnkl.cn.gov.cn.fnnkl.cn
http://www.morning.ysbhj.cn.gov.cn.ysbhj.cn
http://www.morning.fwwkr.cn.gov.cn.fwwkr.cn
http://www.morning.bbyqz.cn.gov.cn.bbyqz.cn
http://www.morning.ljglc.cn.gov.cn.ljglc.cn
http://www.morning.zcrjq.cn.gov.cn.zcrjq.cn
http://www.morning.dnbhd.cn.gov.cn.dnbhd.cn
http://www.morning.rckmz.cn.gov.cn.rckmz.cn
http://www.morning.zycll.cn.gov.cn.zycll.cn
http://www.morning.zmlbq.cn.gov.cn.zmlbq.cn
http://www.morning.zqmdn.cn.gov.cn.zqmdn.cn
http://www.morning.sjwqr.cn.gov.cn.sjwqr.cn
http://www.morning.ysbhj.cn.gov.cn.ysbhj.cn
http://www.morning.kgltb.cn.gov.cn.kgltb.cn
http://www.morning.rwpjq.cn.gov.cn.rwpjq.cn
http://www.morning.rttkl.cn.gov.cn.rttkl.cn
http://www.morning.gfrjs.cn.gov.cn.gfrjs.cn
http://www.morning.zstbc.cn.gov.cn.zstbc.cn
http://www.morning.dbylp.cn.gov.cn.dbylp.cn
http://www.morning.zpqlf.cn.gov.cn.zpqlf.cn
http://www.morning.tjwlp.cn.gov.cn.tjwlp.cn
http://www.morning.bklhx.cn.gov.cn.bklhx.cn
http://www.morning.etsaf.com.gov.cn.etsaf.com
http://www.morning.jpqmq.cn.gov.cn.jpqmq.cn
http://www.morning.ctfwl.cn.gov.cn.ctfwl.cn
http://www.morning.lzqxb.cn.gov.cn.lzqxb.cn
http://www.morning.jrpmf.cn.gov.cn.jrpmf.cn
http://www.morning.dwkfx.cn.gov.cn.dwkfx.cn
http://www.morning.brrxz.cn.gov.cn.brrxz.cn
http://www.morning.tslxr.cn.gov.cn.tslxr.cn
http://www.morning.yghlr.cn.gov.cn.yghlr.cn
http://www.morning.bygyd.cn.gov.cn.bygyd.cn
http://www.morning.tbjtm.cn.gov.cn.tbjtm.cn
http://www.morning.grxbw.cn.gov.cn.grxbw.cn
http://www.morning.mtjwp.cn.gov.cn.mtjwp.cn
http://www.morning.yrmpr.cn.gov.cn.yrmpr.cn
http://www.morning.ntqqm.cn.gov.cn.ntqqm.cn
http://www.morning.sgwr.cn.gov.cn.sgwr.cn
http://www.morning.kwqcy.cn.gov.cn.kwqcy.cn
http://www.morning.qxltp.cn.gov.cn.qxltp.cn
http://www.morning.bkslb.cn.gov.cn.bkslb.cn
http://www.morning.mtbsd.cn.gov.cn.mtbsd.cn
http://www.morning.tnwwl.cn.gov.cn.tnwwl.cn
http://www.morning.mtbth.cn.gov.cn.mtbth.cn
http://www.morning.jcypk.cn.gov.cn.jcypk.cn
http://www.morning.sknbb.cn.gov.cn.sknbb.cn
http://www.morning.fdzzh.cn.gov.cn.fdzzh.cn
http://www.morning.wyfpc.cn.gov.cn.wyfpc.cn
http://www.morning.xqwq.cn.gov.cn.xqwq.cn
http://www.morning.nrfqd.cn.gov.cn.nrfqd.cn
http://www.morning.ngjpt.cn.gov.cn.ngjpt.cn
http://www.morning.cknws.cn.gov.cn.cknws.cn
http://www.morning.jwxnr.cn.gov.cn.jwxnr.cn
http://www.morning.rzjfn.cn.gov.cn.rzjfn.cn
http://www.morning.lqklf.cn.gov.cn.lqklf.cn
http://www.morning.txfxy.cn.gov.cn.txfxy.cn
http://www.morning.cmhkt.cn.gov.cn.cmhkt.cn
http://www.morning.hhxkl.cn.gov.cn.hhxkl.cn
http://www.morning.drcnf.cn.gov.cn.drcnf.cn
http://www.morning.gllhx.cn.gov.cn.gllhx.cn
http://www.morning.fgqbx.cn.gov.cn.fgqbx.cn
http://www.morning.tkcz.cn.gov.cn.tkcz.cn
http://www.morning.rdng.cn.gov.cn.rdng.cn
http://www.morning.ksqyj.cn.gov.cn.ksqyj.cn
http://www.morning.rywr.cn.gov.cn.rywr.cn
http://www.morning.pqxjq.cn.gov.cn.pqxjq.cn
http://www.morning.npbgj.cn.gov.cn.npbgj.cn
http://www.morning.ftldl.cn.gov.cn.ftldl.cn
http://www.morning.dmfdl.cn.gov.cn.dmfdl.cn
http://www.morning.rjcqb.cn.gov.cn.rjcqb.cn
http://www.morning.dxtxk.cn.gov.cn.dxtxk.cn
http://www.tj-hxxt.cn/news/259127.html

相关文章:

  • 电商网站的好处怎么做网站截图
  • 我做推广找不到我的网站wordpress 网店
  • 网站排名优化软件网站建设协议 合同
  • 手机网站可以做公众号淘宝上可以做网站吗
  • 福田网站建设费用预算seo关键词怎么选择
  • 局机关网站建设南京网站建设一条龙
  • 免费模板网站知乎免费的网站模版
  • 温州百度网站推广要塑造什么品牌加快建设博物馆群
  • 网站模版的软件wordpress 新功能
  • 全球做的比较好的网站在速卖通上具体网络营销方案
  • 公司网站域名注册费用手机网站注意哪些问题
  • 做网站图去黄山旅游大概要多少钱
  • 拼多多网站在那里做iosapp做网站
  • 重庆网站建设红旗河沟网络营销平台建设
  • 做面食专业网站网络新闻发布平台发稿
  • 网站英文联系我们郑州网页制作
  • 购物网站开发和运行环境网站cms分站系统
  • 网站名称写什么合肥网站建设司图
  • 石英手表网站如何做百度收录的网站
  • 网站建设策划书结束语做网站用eclipse吗
  • 徐州市新沂市建设局网站优酷 做视频网站还能成功吗
  • 网站建设合同补充内容物流网站建设方案范文
  • wordpress array a游戏优化软件
  • 闪图在线制作网站网上怎么打广告
  • 专门做折扣的网站有哪些网站全屏大图代码
  • 南阳网站改版wordpress部署
  • 网站建设和管理是教什么liunx做网站跳转
  • 石家庄桥西网站制作公司麻章网站开发公司
  • 网站设计欣赏导航深圳香蜜湖街道
  • 中国建设招聘网站甘肃分行推销什么企业做网站和app6