网页设计网站,大连金普新区,南京网站c建设云世家,qq炫舞做浴缸的网站小阿轩yx-案例#xff1a;Zabbix监控kubernetes云原生环境
前言
传统监控的本质
就是收集、分析和使用信息来观察一段时间内监控对象的运行进度#xff0c;并且进行相应的决策管理的过程#xff0c;监控侧重于观察特定指标。
随着云原生时代的到来
我们对监控的功能提出…小阿轩yx-案例Zabbix监控kubernetes云原生环境
前言
传统监控的本质
就是收集、分析和使用信息来观察一段时间内监控对象的运行进度并且进行相应的决策管理的过程监控侧重于观察特定指标。
随着云原生时代的到来
我们对监控的功能提出了更多的要求要实现这些功能就要实现的云原生的“可观测性”。可观测性是云原生时代必须具备的能力。
目前“可观测性” 逐渐取代 “监控”成为云原生技术领域最热门的话题之一。
Zabbix 新版本功能介绍
zabbix 新功能
是一个基于 web 界面的分布式系统监控的企业级开源软件。可以监视各种系统与设备的参数保障服务器及设备的安全运营。
Zabbix 6.0 LTS
新增 Kubernetes 监控功能可以在 Kubernetes 系统从多个维度采集指标。
zabbix 特点
安装与配置简单。可视化 web 管理界面。免费开源。支持中文。自动发现。分布式监控。实时绘图。
zabbix 的主要功能
硬件监控
如交换机、路由器、打印机等。
系统监控
如 CPU、内存磁盘。硬盘 IO系统负载等。
服务监控
如 apache、nginx、tomcat、redis、TCP 连接数等。
性能监控
如网站性能服务器性能数据库性能。
日志监控
如访问日志错误日志。
安全监控
如用户登录数本地文件改动passwd 文件变化。
网络监控
如端口SMTP,网络使用率网络入流量网络出流量。
kubernetes 集群及组件监控模板
新版本的 zabbix 中
提供了专门针对 kubernetes 原生架构的监控模板用户可以直接使用这些模板对 kubernetes 的原生组件进行监控。
模板名称备注Kubernetes API server by HTTPK8S ApiServer 组件指标模板Kubernetes cluster state by HTTPk8S 集群指标模板Kubernetes controller manager by HTTPK8S ControllerManager 组件指标模板Kubernetes kubelet by HTTPK8S Kubelet 组件指标模板Kubernetes nodes by HTTPK8S 集群节点发现以及状态指标模板Kubernetes scheduler by HTTPK8S Scheduler 组件指标模板
K8S 节点基础信息指标模板
对 kubernetes 的主机进行监控的时候仍然可以使用 Linux by zabbix agent 模板对集群中的各个主机进行晚上的监控。
模板名称备注Linux by Zabbix agentOS Linux 系统监控模板
监控指标
云原生环境中需要监控的指标很多
监控名称监控对象节点基础信息CPU、内存磁盘 IO 网络system info等集群指标 [组件]Api Server 、controllerManage、SchedulerServer,、kubelet等资源对象指标Daemonset、Deployment、ReplicasetEndpointPod等Pod 容器指标ContainerMenory max usagePod CpUUser seconds等
Agentless
通过 Zabbix 内置的 “HTTP agent”“Script” 两种类型的监控项无需安装客户端通过访问被监控端的 API 接口即可采集监控指标数据主要用于K8S 集群、服务组件、pod 容器状态及性能指标的采集。 项目环境
设备列表
主机IPk8s-master192.168.10.101k8s-node01192.168.10.102k8s-node02zabbix server192.168.10.103mariadb-10、NFS192.168.10.108
案例拓扑图 数据库配置
关闭防火墙、内核机制在108主机上
[rootlocalhost ~]# systemctl stop firewalld
[rootlocalhost ~]# systemctl disable firewalld
[rootlocalhost ~]# setenforce 0
[rootlocalhost ~]# vim /etc/sysconfig/selinux
##修改为永久关闭
SELINUXdisabled
将 mysql-8.0.31-linux 的源码包通过 Xftp 上传至主机108 用 bash 快速部署 mysql
[rootlocalhost ~]# bash mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz
NFS 配置
开启会话同步101、102、103
创建 NFS 存储目录
[rootk8s-master ~]# mkdir -p /nfs
[rootk8s-node01 ~]# mkdir -p /nfs
[rootk8s-node02 ~]# mkdir -p /nfs
安装 nfs 服务
[rootk8s-master ~]# yum -y install nfs-utils rpcbind
[rootk8s-node01 ~]# yum -y install nfs-utils rpcbind
[rootk8s-node02 ~]# yum -y install nfs-utils rpcbind
重定向配置文件
[rootk8s-master ~]# echo /nfs *(rw,sync,no_root_squash) /etc/exports
[rootk8s-node01 ~]# echo /nfs *(rw,sync,no_root_squash) /etc/exports
[rootk8s-node02 ~]# echo /nfs *(rw,sync,no_root_squash) /etc/exports
启动服务
[rootk8s-master ~]# systemctl start nfs systemctl start rpcbind
[rootk8s-node01 ~]# systemctl start nfs systemctl start rpcbind
[rootk8s-node02 ~]# systemctl start nfs systemctl start rpcbind
设置开机自启
[rootk8s-master ~]# systemctl enable nfs-server systemctl enable rpcbind
[rootk8s-node01 ~]# systemctl enable nfs-server systemctl enable rpcbind
[rootk8s-node02 ~]# systemctl enable nfs-server systemctl enable rpcbind
在所有 k8s 节点安装 nfs
[rootk8s-master ~]# yum -y install nfs-utils
[rootk8s-node01 ~]# yum -y install nfs-utils
[rootk8s-node02 ~]# yum -y install nfs-utils
所有节点都要安装 nfs-utils否则无法使用 pv
安装 zabbix server 和 web
将镜像文件通过 Xftp 上传至master、node01、node02101、102、103 开启会话同步
进入镜像文件目录
[rootk8s-master ~]# cd images/
[rootk8s-node01 ~]# cd images/
[rootk8s-node02 ~]# cd images/
导入镜像
[rootk8s-master images]# bash imp_docker_img.sh
[rootk8s-node01 images]# bash imp_docker_img.sh
[rootk8s-node02 images]# bash imp_docker_img.sh
取消会话同步
创建动态 PV
编辑 nfs 的 yaml 文件
[rootlocalhost ~]# vim storageclass-nfs.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:name: managed-nfs-storage
provisioner: fuseim.pri/ifs
parameters:archiveOnDelete: true---
kind: ServiceAccount
apiVersion: v1
metadata:name: nfs-client-provisioner---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:name: nfs-client-provisioner-runner
rules:- apiGroups: []resources: [persistentvolumes]verbs: [get, list, watch, create, delete]- apiGroups: []resources: [persistentvolumeclaims]verbs: [get, list, watch, update]- apiGroups: [storage.k8s.io]resources: [storageclasses]verbs: [get, list, watch]- apiGroups: []resources: [events]verbs: [create, update, patch]---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:name: run-nfs-client-provisioner
subjects:- kind: ServiceAccountname: nfs-client-provisionernamespace: default
roleRef:kind: ClusterRolename: nfs-client-provisioner-runnerapiGroup: rbac.authorization.k8s.io---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:name: leader-locking-nfs-client-provisioner
rules:- apiGroups: []resources: [endpoints]verbs: [get, list, watch, create, update, patch]---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:name: leader-locking-nfs-client-provisioner
subjects:- kind: ServiceAccountname: nfs-client-provisionernamespace: default
roleRef:kind: Rolename: leader-locking-nfs-client-provisionerapiGroup: rbac.authorization.k8s.io---
apiVersion: v1
kind: ServiceAccount
metadata:name: nfs-client-provisioner---
kind: Deployment
apiVersion: apps/v1
metadata:name: nfs-client-provisioner
spec:replicas: 1strategy:type: Recreateselector:matchLabels:app: nfs-client-provisionertemplate:metadata:labels:app: nfs-client-provisionerspec:serviceAccountName: nfs-client-provisionercontainers:- name: nfs-client-provisionerimage: arawak/nfs-client-provisionervolumeMounts:- name: nfs-client-rootmountPath: /persistentvolumesenv:- name: PROVISIONER_NAMEvalue: fuseim.pri/ifs- name: NFS_SERVERvalue: 192.168.10.108 #指定nfs地址- name: NFS_PATHvalue: /nfsvolumes:- name: nfs-client-rootnfs:server: 192.168.10.108 #指定nfs地址path: /nfs
生成动态 PV
[rootlocalhost ~]# kubectl apply -f storageclass-nfs.yaml
安装 zabbix-server
编写 zabbix_server.yaml
[rootlocalhost ~]# zabbix-server.yaml
apiVersion: v1
kind: Namespace
metadata:name: zabbix
---
apiVersion: v1
kind: Service
metadata:name: zabbix-servernamespace: zabbixlabels:app: zabbix-server
spec:selector:app: zabbix-serverports:- name: zabbix-serverport: 10051nodePort: 30051type: NodePort---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: zabbix-scriptsnamespace: zabbix
spec:storageClassName: managed-nfs-storageaccessModes:- ReadWriteManyresources:requests:storage: 1Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:labels:app: zabbix-servername: zabbix-servernamespace: zabbix
spec:replicas: 1selector:matchLabels:app: zabbix-servertemplate:metadata:labels:app: zabbix-serverspec:nodeSelector:zabbix-server: truehostNetwork: truecontainers:- image: zabbix/zabbix-server-mysql:6.4.8-centosimagePullPolicy: IfNotPresentname: zabbix-server-mysqlvolumeMounts:- mountPath: /usr/lib/zabbix/alertscriptsname: zabbix-scriptsenv:- name: DB_SERVER_HOSTvalue: 192.168.10.108- name: DB_SERVER_PORTvalue: 3306- name: MYSQL_DATABASEvalue: zabbix- name: MYSQL_USERvalue: zabbix- name: MYSQL_PASSWORDvalue: zabbix- name: ZBX_CACHESIZEvalue: 512M- name: ZBX_HISTORYCACHESIZEvalue: 128M- name: ZBX_HISTORYINDEXCACHESIZEvalue: 128M- name: ZBX_TRENDCACHESIZEvalue: 128M- name: ZBX_VALUECACHESIZEvalue: 256M- name: ZBX_TIMEOUTvalue: 30resources:requests:cpu: 500mmemory: 500Milimits:cpu: 1000mmemory: 1Givolumes:- name: zabbix-scriptspersistentVolumeClaim:claimName: zabbix-scripts
为 node02 节点设置标签
[rootlocalhost ~]# kubectl label node k8s-node02 zabbix-servertrue
安装 zabbix-server
[rootlocalhost ~]# kubectl apply -f zabbix-server.yaml
查看 pod 状态
[rootlocalhost ~]# kubectl get pod -n zabbix
NAME READY STATUS RESTARTS AGE
zabbix-server-5f48d9d57d-rkr5p 1/1 Running 0 66s
部署 zabbix-web
编写 zabbix_web.yaml 文件
[rootlocalhost ~]# vim zabbix-web.yaml
apiVersion: apps/v1
kind: Deployment
metadata:labels:app: zabbix-webname: zabbix-webnamespace: zabbix
spec:replicas: 1selector:matchLabels:app: zabbix-webtemplate:metadata:labels:app: zabbix-webspec:containers:- image: zabbix/zabbix-web-nginx-mysql:6.4.8-centosimagePullPolicy: IfNotPresentname: zabbix-web-nginx-mysqlenv:- name: DB_SERVER_HOSTvalue: 192.168.10.108- name: MYSQL_USERvalue: zabbix- name: MYSQL_PASSWORDvalue: zabbix- name: ZBX_SERVER_HOSTvalue: zabbix-server- name: PHP_TZvalue: Asia/shanghairesources:requests:cpu: 500mmemory: 500Milimits:cpu: 1000mmemory: 1Gi
---
apiVersion: v1
kind: Service
metadata:labels:app: zabbix-webname: zabbix-webnamespace: zabbix
spec:ports:- name: webport: 8080protocol: TCPtargetPort: 8080nodePort: 30008selector:app: zabbix-webtype: NodePort
安装 zabbix-web
[rootlocalhost ~]# kubectl apply -f zabbix-web.yaml
查看 pod 状态
[rootlocalhost ~]# kubectl get pod -n zabbix
NAME READY STATUS RESTARTS AGE
zabbix-server-5f48d9d57d-rkr5p 1/1 Running 0 66s
zabbix-web-55cd66f74f-9f284 1/1 Running 0 44s
访问 zabbix 的 web
查看 svc
[rootlocalhost ~]# kubectlget svc -n zabbix
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
zabbix-server NodePort 10.100.40.247 none 10051:30051/TCP 2m39s
zabbix-web NodePort 10.100.202.232 none 8080:30008/TCP 21s
登录 web
等待片刻后访问网站http://192.168.10.101:30008/
初始账号
Adminzabbix 安装 zabbix proxy 和 agent
官方给我们提供了全套的容器化服务部署方式这里采用官方提供的 Helm chart 来安装。
安装 helm 工具如果有 helm忽略此步
将 zabbix-helm-chrt-1.3.4 源码包上传至 master101 解压
[rootlocalhost ~]# tar zxvf zabbix-helm-chrt-1.3.4.tgz
拷贝文件到指定目录下
[rootlocalhost ~]# cp linux-amd64/helm /usr/local/bin/helm
添加仓库已有离线包此步可忽略
[rootlocalhost ~]# helm repo add zabbix-chart-6.2 https://cdn.zabbix.com/zabbix/integrations/kubernetes-helm/6.2/
查看列表
[rootlocalhost ~]# helm repo list
NAME URL
zabbix-chart-6.0 https://cdn.zabbix.com/zabbix/integrations/kubernetes-helm/6.4
搜索仓库中的 helm 包已有离线包此步可忽略
[rootlocalhost ~]# helm search repo zabbix-chart-6.2
NAME CHART VERSION APP VERSION DESCRIPTION
zabbix-chart-6.0/zabbix-helm-chrt 1.3.4 6.0.21 A Helm chart for deploying ZAbbix agent and proxy
拉取 helm 包已有离线包此步可忽略
[rootlocalhost ~]# helm pull zabbix-chart-6.2/zabbix-helm-chrt
配置 values.yaml
解压
[rootlocalhost ~]# tar zxvf zabbix-helm-chrt-1.3.4.tgz
进入目录
[rootlocalhost ~]# cd zabbix-helm-chrt
修改配置文件
[rootlocalhost zabbix-helm-chrt]# vim values.yaml
#修改以下内容
zabbixProxy:image:repository: zabbix/zabbix-proxy-sqlite3tag: 6.4.8-centospullPolicy: IfNotPresent- name: ZBX_SERVER_HOSTvalue: 192.168.10.103
zabbixAgent:image:repository: zabbix/zabbix-agent2tag: 6.4.8-centospullPolicy: IfNotPresent- name: ZBX_SERVER_HOSTvalue: 0.0.0.0/0## Zabbix server port- name: ZBX_SERVER_PORTvalue: 10051- name: ZBX_PASSIVE_ALLOWvalue: true- name: ZBX_ACTIVE_ALLOWvalue: truezabbixProxy: tag: 6.4.8-centos value: 192.168.10.103zabbixAgent: tag: 6.4.8-centos value: true IP 地址为 zabbix server 主机的地址我们是将 zabbix server 安装到了 node82 的节点上此节点的 IP 地址为 192.168.10.103。 安装 Zabbix Chart
创建 zabbix agent 和 proxy 的命名空间
[rootlocalhost zabbix-helm-chrt]# kubectl create namespace monitoring利用 helm 部署 agent 和 proxy 组件
[rootlocalhost zabbix-helm-chrt]# kubectl taint node k8s-master node-role.kubernetes.io/master:NoSchedule-
[rootlocalhost zabbix-helm-chrt]# helm install zabbix .--dependency-update -n monitoring
[rootlocalhost zabbix-helm-chrt]# kubectl taint node k8s-master node-role.kubernetes.io/master:NoSchedule
如果需要在 master 节点上安装 agent 程序需要将 master 节点的污点去掉本案例的 k8s 集群使用 kubeadm 安装默认 master 节点为污点。部署好后还可以再将 master 设置为污点。
查看安装结果
[rootlocalhost ~]# kubectl get pod -n monitoring
NAME READY STATUS RESTARTS AGE
zabbix-agent-78kvh 1/1 Running 0 20s
zabbix-agent-hxjns 1/1 Running 0 20s
zabbix-agent-lpw9j 1/1 Running 0 20s
zabbix-kube-state-metrics-6b588697b8-gw422 1/1 Running 0 20s
zabbix-proxy-59bcf6d9c4-44dt2 1/1 Running 0 20s
如果要卸载 helm 安装的程序可以使用下面的命令
helm uninstall zabbix -n monitoring
验证安装结果
如果 proxy 和 agnet 正常安装则会看到 zabbix server 主机已经处于正常的监控状态。 修改 UI 界面语言
“Administration” -- “General”找到 “Default language”在下拉菜单中选择 “chinese(zh_CN)”然后点击下方的 “update” 按钮页面即可修改为中文界面。 在 Web 管理界面添加 proxy
添加 zabbix-proxy
“管理” -- “Proxy”在右上角点击 “创建 Proxy” 按钮打开创建 proxy 的界面。填写信息其中 agnet 代理程序名称是在 value.yaml 中设置的 ZBX_HOSTNAME 的值系统代理模式为主动式代理地址不用填写。 等待一会刷新一下页面观察 proxy 的状态如果不正常Last seen 的位置会显示成红色的 Never 字样。 创建主机群组
创建主机群组群组命名为 k8s Server“数据采集” -- “主机群组”添加主机组。 节点状态监控
创建 k8s-node 主机用于自动发现 K8S 各个节点主机
添加主机模板
“数据采集” -- “主机”创建主机 k8s-nodes用于自动发现节点。
需要配置的信息
主机名k8s-nodes模板Templates 下的Kubernetes nodes by HTTP主机群组K8S Server代理程序检测zabbix-proxy已启用true 为主机设置宏参数
配置信息宏变量表
宏变量值{$KUBE.API.ENDPOINT.URL}https://192.168.10.101:6443/api{$KUBE.API.TOKEN}你的 Token 值{$KUBE.NODES.ENDPOINT.NAME}zabbix-zabbix-helm-chrt-agent 获取 Token 值
kubectl get secret zabbix-service-account -n monitoring -o jsonpath{.data.token}base64 -d
获取endpoint
kubectl get ep -n monitoring
集群服务监控
添加主机模板
“数据采集” -- “主机”创建主机 k8s-cluster关联模板 “Kubernetes cluster state by HTTP”用于自动发现服务组件。 设置宏变量
需要填写的宏变量表
宏变量值{$KUBE.API.HOST}192.168.10.101{$KUBE.API.PORT}6443{$KUBE.API.TOKEN}你的Token值{$KUBE.API.URL}https://192.168.10.101:6443{$KUBE.API_SERVER.PORT}6443{$KUBE.API_SERVER.SCHEME}https{$KUBE.CONTROLLER_MANAGER.PORT}10252{$KUBE.CONTROLLER_MANAGER.SCHEME}http{$KUBE.KUBELET.PORT}10250{$KUBE.KUBELET.SCHEME}https{$KUBE.SCHEDULER.PORT}10251{$KUBE.SCHEDULER.SCHEME}http{$KUBE.STATE.ENDPOINT.NAME}zabbix-zabbix-helm-chrt-agent 验证监控主机 因为没有使用 Linux by Zabbix agent 模板所以集群服务相关的监控项ZBX 为灰色的。只要能査看到监控信息就是成功的。如果想让其他的主机的 ZBX 也显示为绿色可以单独给他们添加一个 Zabbix agent 模板结果如图 查看监控数据
“检测” -- “主机”可以看到所有被检测的主机。 点击某一个主机或组件的 “最新数据”可以看到对应的具体监控到的信息。 小阿轩yx-案例Zabbix监控kubernetes云原生环境
文章转载自: http://www.morning.xdlwm.cn.gov.cn.xdlwm.cn http://www.morning.wmfr.cn.gov.cn.wmfr.cn http://www.morning.sgnjg.cn.gov.cn.sgnjg.cn http://www.morning.skmpj.cn.gov.cn.skmpj.cn http://www.morning.rjrz.cn.gov.cn.rjrz.cn http://www.morning.kkjhj.cn.gov.cn.kkjhj.cn http://www.morning.rnygs.cn.gov.cn.rnygs.cn http://www.morning.kjnfs.cn.gov.cn.kjnfs.cn http://www.morning.muzishu.com.gov.cn.muzishu.com http://www.morning.zwckz.cn.gov.cn.zwckz.cn http://www.morning.nqmkr.cn.gov.cn.nqmkr.cn http://www.morning.nqfxq.cn.gov.cn.nqfxq.cn http://www.morning.lwxsy.cn.gov.cn.lwxsy.cn http://www.morning.lnfkd.cn.gov.cn.lnfkd.cn http://www.morning.jnoegg.com.gov.cn.jnoegg.com http://www.morning.ghwtn.cn.gov.cn.ghwtn.cn http://www.morning.kybyf.cn.gov.cn.kybyf.cn http://www.morning.xxwfq.cn.gov.cn.xxwfq.cn http://www.morning.jlrym.cn.gov.cn.jlrym.cn http://www.morning.nnmnz.cn.gov.cn.nnmnz.cn http://www.morning.dfygx.cn.gov.cn.dfygx.cn http://www.morning.nrzbq.cn.gov.cn.nrzbq.cn http://www.morning.nlgnk.cn.gov.cn.nlgnk.cn http://www.morning.gydth.cn.gov.cn.gydth.cn http://www.morning.hxxzp.cn.gov.cn.hxxzp.cn http://www.morning.prjty.cn.gov.cn.prjty.cn http://www.morning.hctgn.cn.gov.cn.hctgn.cn http://www.morning.bxdlrcz.cn.gov.cn.bxdlrcz.cn http://www.morning.fkyqm.cn.gov.cn.fkyqm.cn http://www.morning.hwnnh.cn.gov.cn.hwnnh.cn http://www.morning.lbzgt.cn.gov.cn.lbzgt.cn http://www.morning.jfbgn.cn.gov.cn.jfbgn.cn http://www.morning.rcmcw.cn.gov.cn.rcmcw.cn http://www.morning.mjtft.cn.gov.cn.mjtft.cn http://www.morning.brlcj.cn.gov.cn.brlcj.cn http://www.morning.tslwz.cn.gov.cn.tslwz.cn http://www.morning.czwed.com.gov.cn.czwed.com http://www.morning.lfbsd.cn.gov.cn.lfbsd.cn http://www.morning.zxfr.cn.gov.cn.zxfr.cn http://www.morning.kcwkt.cn.gov.cn.kcwkt.cn http://www.morning.lhrcr.cn.gov.cn.lhrcr.cn http://www.morning.gsdbg.cn.gov.cn.gsdbg.cn http://www.morning.kqhlm.cn.gov.cn.kqhlm.cn http://www.morning.tsrg.cn.gov.cn.tsrg.cn http://www.morning.bhqlj.cn.gov.cn.bhqlj.cn http://www.morning.xfdkh.cn.gov.cn.xfdkh.cn http://www.morning.pbknh.cn.gov.cn.pbknh.cn http://www.morning.wkrkb.cn.gov.cn.wkrkb.cn http://www.morning.lfcfn.cn.gov.cn.lfcfn.cn http://www.morning.qmkyp.cn.gov.cn.qmkyp.cn http://www.morning.jopebe.cn.gov.cn.jopebe.cn http://www.morning.wcjk.cn.gov.cn.wcjk.cn http://www.morning.zcqbx.cn.gov.cn.zcqbx.cn http://www.morning.dbxss.cn.gov.cn.dbxss.cn http://www.morning.mfsxd.cn.gov.cn.mfsxd.cn http://www.morning.rfbt.cn.gov.cn.rfbt.cn http://www.morning.hytfz.cn.gov.cn.hytfz.cn http://www.morning.zdhnm.cn.gov.cn.zdhnm.cn http://www.morning.lxmks.cn.gov.cn.lxmks.cn http://www.morning.tpkxs.cn.gov.cn.tpkxs.cn http://www.morning.wlddq.cn.gov.cn.wlddq.cn http://www.morning.ho-use.cn.gov.cn.ho-use.cn http://www.morning.npmx.cn.gov.cn.npmx.cn http://www.morning.fbmzm.cn.gov.cn.fbmzm.cn http://www.morning.pfggj.cn.gov.cn.pfggj.cn http://www.morning.bktly.cn.gov.cn.bktly.cn http://www.morning.pkmcr.cn.gov.cn.pkmcr.cn http://www.morning.fpyll.cn.gov.cn.fpyll.cn http://www.morning.wkwds.cn.gov.cn.wkwds.cn http://www.morning.qnxtz.cn.gov.cn.qnxtz.cn http://www.morning.jytrb.cn.gov.cn.jytrb.cn http://www.morning.rlbg.cn.gov.cn.rlbg.cn http://www.morning.qfwfj.cn.gov.cn.qfwfj.cn http://www.morning.hsjrk.cn.gov.cn.hsjrk.cn http://www.morning.rpzqk.cn.gov.cn.rpzqk.cn http://www.morning.mqfkd.cn.gov.cn.mqfkd.cn http://www.morning.zpqlf.cn.gov.cn.zpqlf.cn http://www.morning.bpmns.cn.gov.cn.bpmns.cn http://www.morning.rzmkl.cn.gov.cn.rzmkl.cn http://www.morning.smygl.cn.gov.cn.smygl.cn