




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Nagios学习笔记之(一)最初搭建 2012-07-17 13:05:08标签:linux 监控 nagios cacti 版权声明:原创作品,如需转载,请与作者联系。否则将追究法律责任。 Nagios学习笔记之一最初搭建一、简介:Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。二、搭建过程:OS:CentOS 5.5 x86_64(最小化即可)Nagios主程序:Nagios插件:2.1安装前:2.1.
2、1安装依赖包,下载源程序包1. #cd /etc/yum.repos.d/ 2. #rm -fr ./* 3. #wget wget 4. #yum makecache #删除系统自带的yum源,下载网易的网络源并更新缓存1. #yum -y install gcc glibc glibc-common gd gd-devel httpd #安装必须的依赖包1. 2. #wget #下载n
3、agios主程序以及插件程序2.1.2正式安装:1. #groupadd nagcmd 2. #useradd -G nagcmd nagios 3. #usermod -G nagcmd apache #创建一个用户组名为nagcmd用于从Web接口执行外部命令。将nagios用户和apache用户都加到这个组中。1. #tar zxf 2. #cd nagios 3. #./configure -prefix=/usr/l
4、ocal/nagios -with-command-group=nagcmd 4. #解压程序包,并进行预编译前的配置(默认用户就是nagios,所以只需指定组) 5. #make all #编译Nagios程序包源码 6. #make insta
5、ll #安装二进制运行程序 7. #make install-init #初始化脚本 8. #make instal
6、l-config #配置文件样本 9. #make install-commandmode #设置运行目录权限 10. #make install-webconf &
7、#160; #安装Nagios的WEB配置文件到Apache的conf.d目录下 #htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin#创建一个nagiosadmin的用户用于登录Nagios的web界面。#service httpd restart#重启apache使服务生效1. #tar zxf nagios-plugins-1.4.15.tar.gz 2. #cd nagios-plugins-1.4.15 3. #./configu
8、re -prefix=/usr/local/nagios -with-nagios-user=nagios -with-nagios-group=nagios 4. #make && make install 5. #编译安装nagios插件 #chkconfig -add nagios#chkconfig nagios on#chkconfig httpd on#添加系统服务并设开机自启#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc
9、/nagios.cfg#验证配置文件是否正确,如下图则没问题:#service nagios start#启动服务#vim /root/.bashrc#添加一条:alias check='/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg'#source /root/.bashrc#在以后的配置和调试过程中,经常需要检查配置文件,所以加条别名为了方便#备注:注意防火墙和Selinux(都关了即可)输入http:/IP/nagios,输入前面设置的用户名密码后,如下图即安装成功。三、安装后问题及解决办法
10、问题1:打开http:/ip/nagios,输入口令验证后出现“You don't have permission to access /nagios/ on this server”解决方法:没装php导致,yum -y install php,装好,重启httpd和nagios 问题2:如果提示“Whoops! Error: Could not read object configuration data! ”,这是因为没有启动nagios后台进程,执行以下命令解决方法:/usr/local/nagios/bin/nagios -d /usr/local/n
11、agios/etc/nagios.cfg 问题3:Nagios显示类似错误:HTTP WARNING: HTTP/1.1 403 Forbidden - 5240 bytes in 0.002 second response time。该错误表明在apache web根目录没有index.html文件。解决方法:在web根目录(如:/var/www/html/目录)建立index.html文件,重启apache和nagios即可。 问题4:安装nagios-plugins,make时出现如下报错:make2: * check_http.o Error 1make
12、2: Leaving directory /mnt/nagios-plugins-1.4.13/plugins'make1: * all-recursive Error 1make1: Leaving directory /mnt/nagios-plugins-1.4.13'make: * all Error 2 解决办法:yum -y install openssl openssl-devel,然后重新执行./configure,再编译安装。Nagios学习笔记之(二)监控部署 2012-08-02 00:01:38标签:linux 监控 nagios cacti
13、原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。 Nagios学习笔记之(二)监控部署 前言:本篇致力于初涉Nagios的同学,老鸟绕行! 前面已经把最基本的Nagios以及插件安装好了,现在只能对本机进行监控,要想监控远程主机,就必须通过类似于NRPE的软件来实现。监控端和被监控端都要装nrpe,因为靠此来通信,nrpe是通过ssl来通信的,所以比较安全。用到ssl就得装相关支持的包:yum -y install openssl openssl-devel现在开始来安装nrpe:以下操作在监控端进行:首先
14、把下载下来的nrpe-2.12.tar解压(自行网上下载)1. #tar zxf nrpe.2.12.tar 2. #cd nrpe-2.12 3. #./configure 4. #make all 5. #make install-plugin 安装完成后会在/usr/local/nagios/libexec/下生成check_nrpe文件下面定义一个check_nrpe监控命令(默认装好以后没有被nagios调用)顺带说下监控整体思想:1.要定义监控的主机或服务2.执行什么命令
15、来监控3.出现问题要通知的人4.采用什么方式通知,邮件|短信 -后续再细说修改/usr/local/nagios/etc/commands.cfg(定义命令的文件),添加如下内容: 1. define command 2. command_name check_nrpe 3. command_line $USER1$/check_n
16、rpe -H $HOSTADDRESS$ -c $ARG1$ 4. 至此监控端暂时完事。command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -t 30 -c $ARG1$ $ARG2$ 以下操作在被监控端进行:需要两个文件:nagios-plugins-1.4.15.tar (nrpe依赖于这个插件)nrpe-2.12.tar (远程通信)
17、160;首先创建安装用户:useradd -s /sbin/nologin nagios解压安装Nagios插件:1. #tar xzf nagios-plugins-1.4.15.tar.gz 2. #cd nagios-plugins-1.4.15 3. #./configure -prefix=/usr/local/nagios -with-nagios-user=nagios -with-nagios-group=nagios 4. #make && make
18、 install 解压安装nrpe:1. #tar zxf nrpe.2.12.tar 2. #cd nrpe-2.12 3. #./configure 4. #make all 5. #make install-plugin 6. #make install-daemon 7. #make install-daemon-config 8. #make install-xinetd 安装完毕。接下来把nr
19、pe交由xinetd来监听(好处:修改nrpe的配置文件不需要重启服务)vi /etc/xinetd.d/nrpe将only_from = 后面加上监控端的地址确保/etc/services有nrpe 5666/tcp #NRPE这一行,没有则添加重启xinetd服务,至此被监控端配置完毕。service xinetd restart 接下来测试下连通性,在监控端执行:/usr/local/nagios/libexec/check_nrpe -H 被监控端的地址如能显示 “NRPE v2.12”,表明NRPE可以和被监控端正常通信。 部署前的工作基本OK了。下面来说说,服务
20、器上具体是怎么部署监控的。首先来看下Nagios的目录结构bin #存放执行文件,如nagios,以及后续安装的扩展程序etc #存放配置文件,如nagios.cfg主配文件,平时部署维护操作最多的文件夹include #存放引用文件,默认为空lib
21、exec #存放执行命令,如check_load等,里面有很多命令,需要熟练掌握sbin #存放一些cgi,平时一般不用动share #存放一些网页文件,平时一般不用动var
22、60; #存放一些产生的数据文件,平时一般不用动比较重要的就是etc和libexec。下面说下如何定义一台主机以及主机上的服务:首先修改:/usr/local/nagios/etc/nagios.cfg去掉cfg_dir=/usr/local/nagios/etc/servers前面的注释mkdir /usr/local/nagios/etc/servers将来新建的主机以及服务都可以存放在这下面,建议把主机和服务写在一个配置文件中,按主机来划分,便于管理。例如:要监控一台http服务器可以在servers下面新建一个以cfg结尾的文件vim simple-http
23、.cfg1. define host #定义一个主机 2. use linux-server
24、 #引用etc/objects/中的linux-server配置(后续细说) 3. host_name http #定义一个主机名,并不是http的实际主机名,任意即可,但要继续,后面要调用
25、;4. alias http #定义一个别名 5. address &
26、#160; #指定地址 6. 7. define service #定义一个服务 8. use generi
27、c-service #引用etc/objects/templates.cfg中的generic-service配置(后续细说) 9. host_name http
28、#引用主机名 10. service_description CPU Load #定义监控服务名,就是在web网页上显示的服务名 11. check_command check_nrpe!check_load #定义要执行的命令:让check_nrpe调用被监控端的check_load命令执行 12.
29、 #以下类似(备注:每条定义的命令都必须在etc/nrpe.cfg中明确定义)
30、0; 13. define service 14. use generic-service 15. host_name http 16.
31、0; service_description Current Users 17. check_command check_nrpe!check_users 18. 19. define service 20. use generic-service 21. &
32、#160; host_name http 22. service_description Disk Free Space / 23. check_command check_nrpe!check_root 24. 25. define s
33、ervice 26. use generic-service 27. host_name http 28. service_description Total Processes 29.
34、0; check_command check_nrpe!check_total_procs 30. 31. define service 32. use generic-service 33. host_name http 34. &
35、#160; service_description Zombie Processes 35. check_command check_nrpe!check_zombie_procs 36. 保存以后,check一下,没问题重载nagios的配置文件service nagios reload登录网页后就会看见定义监控的项目了。 后续:配置文件详解Nagios学习笔记之(三)配置详解 2
36、012-08-09 13:33:29标签:配置 监控 nagios 详解 cfg 版权声明:原创作品,如需转载,请与作者联系。否则将追究法律责任。 Nagios学习笔记之(三)配置详解 前言:上篇先实现的监控部署,就是想先搭建起来,有点小成就,现在再来看配置文件中的详解。只有把其中配置文件中的联系都理解清楚了,才能方便日后自己自定义的检测。Nagios的配置文件还是有其鲜明的特点的。网上也有很多零零闪闪的配置讲解,但大多都不够详解,此篇为自己整理,当然也参考了网络上的信息,有配置的解释还有自己的一些备注,可能还有很多不完善的地方,后续会慢慢补充,希望看的人能看懂,还有就是自己以后能看
37、懂,呵呵。好了,不多说了,开始! 一、目录层次:Nagios以及其插件,安装并配置好了以后,目录层次如下:1. bin #Nagios执行程序所在目录,包括nagios、npc、nrpe等; 2. etc #Nagios配置文件位置,重点;
38、0;3. libexec #Nagios插件目录,里面有具体监控的各种插件,重点; 4. sbin #Nagios Cgi文件所在目录,也就是执行外部命令所需文件所在的目录; 5. share
39、; #Nagios网页文件所在的目录,也就是web页面给我们展示的文件; 6. include #Nagioscgi文件的外部调用; 7. var #Nagios日志文件、spid 等文件所在的目录。 二、配置文件概览:Nagios所有的配置
40、文件以cfg为结尾,在默认装好以后会在etc/下生成一些,我们来逐个看下: 1. etc/nagios.cfg #Nagios主配置文件,所有的cfg文件(外部调用除外)必须都在此文件中引用才能生效; 2. etc/resource.cfg #定义$USER1$变量,设置插件路径; 3. etc/nrpe.cfg
41、0; #定义nrpe检测命令的文件,在command中引用; 4. etc/objects下: 5. commands.cfg #定义命令执行的文件,比如check_tcp、check_local_disk等,由后面定义服务的配置文件来引用; 6. contacts.cfg #定义联系人的文件,比如服务down了通知的对象; 7.
42、 localhost.cfg #定义本机的监控条目,默认生成; 8. printer.cfg #定义打印机的文件,默认未启用,在生产环境中意义不大; 9. switch.cfg #定义监控路由器和交换机的配置文件,默认未启用; 10. templa
43、tes.cfg #定义服务类型的文件,样本文件,比如定义的linux-server就是在此文件中预先定义好; 11. timeperiods.cfg #定义要监控时间段文件,比如24x7,workhours等; 12. windows.cfg #定义监控Windows的文件,默认未启用。 备注:这些文件的名字不是一定的,只要里面的内容正确就可以,Nagios可以自动识别,比如你把comma
44、nds.cfg和localhost.cfg的文件名互换,都是没有问题的。 三、各配置文件详解:(考虑篇幅,只列举部分)1.etc/nagios.cfg(主配置文件)1. log_file=/usr/local/nagios/var/nagios.log 2. # 这个变量用于设定Nagios在
45、何处创建其日志文件。 3. # OBJECT CONFIGURATION FILE(S) 4. # 对象的配置文件 5. # 可以指定单个对象的配置文件, 如下所示: 6. cfg_file=/usr/local/nagios/etc/objects/commands.cfg 7. #定义其命令文件 8. cfg_file=/usr/local/nagios/etc/objects/contacts.cfg
46、; 9. #定义联系人文件 10. cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg 11. #定义时间段文件 12. cfg_file=/usr/local/nagios/etc/objects/templates.cfg 13. #定义样本文件 14. cfg_file=/usr/local/nagios/etc/objects/localhost.cfg
47、; 15. # 定义监测本地( Linux )主机 16. 17. #cfg_file=/usr/local/nagios/etc/objects/windows.cfg 18. # 定义监测( windows )主机 19. 20. #cfg_file=/usr/local/nagios/etc/objects/switch.cfg
48、0; 21. # 定义监测路由器或交换机 22. 23. #cfg_file=/usr/local/nagios/etc/objects/printer.cfg 24. # 定义监测打印机 25. 26. # 也可以告诉Nagios处理所有配置文件(带有.cfg扩展名)在特定的目录使用cfg_dir指令如下所示: 27. #c
49、fg_dir=/usr/local/nagios/etc/servers 28. #cfg_dir=/usr/local/nagios/etc/printers 29. #cfg_dir=/usr/local/nagios/etc/switches 30. #cfg_dir=/usr/local/nagios/etc/routers 总结配置文件里的变量:日志文件:格式: log_file=<file_name>样例: log_file=/usr/local/nagios/var
50、/nagios.log说明:这个变量用于设定Nagios在何处创建其日志文件。它应该是你主配置文件里面的第一个变量,当Nagios找到你配置文件并发现配置里有错误时会向该文件中写入错误信息。如果你使能了日志回滚,Nagios将在每小时、每天、每周或每月对日志进行回滚。对象配置文件:格式: cfg_file=<file_name>样例:cfg_file=/usr/local/nagios/etc/hosts.cfgcfg_file=/usr/local/nagios/etc/servers.cfgcfg_file=/usr/local/nagios/etc/
51、commands.cfg说明:该变量用于指定一个包含有将用于Nagios监控对象的对象配置文件。对象配置文件中包括有主机、主机组、联系人、联系人组、服务、命令等等对象的定义。配置信息可以切分为多个文件并且用cfg_file=语句来指向每个待处理的配置文件.对象配置目录:格式: cfg_dir=<directory_name>样例:cfg_dir=/usr/local/nagios/etc/commandscfg_dir=/usr/local/nagios/etc/serverscfg_dir=/usr/local/nagios/etc/hosts说明:该变
52、量用于指定一个目录,目录里包含有将用于Nagios监控对象的对象配置文件。所有的在这个目录下的且以.cfg为扩展名的文件将被作为配置文件来处理。另外,Nagios将会递归该目录下的子目录并处理其子目录下的全部配置文件。你可以把配置放入不同的目录并且用cfg_dir=语句来指向每个待处理的目录。 2.etc/objects/commands.cfg(命令配置文件)1. #定义通知的方式,主机发生故障通知和服务发送故障通知 2. define command 3.
53、;command_name notify-host-by-email 4. command_line /usr/bin/printf "%b" "* Nagios *nnNotification Type: $NOTIFICATIONTYPE$nHost: $HOSTNAME$nState:
54、;$HOSTSTATE$nAddress: $HOSTADDRESS$nInfo: $H 5. OSTOUTPUT$nnDate/Time: $LONGDATETIME$n" | /bin/mail -s "* $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ *" $CONTACTEMAIL$ 6.
55、0; 7. #定义通知的方式,服务发生故障通知和服务发送故障通知 8. # 'notify-service-by-email' command definition 9. define command 10. command_name notify-service-by-email 11.
56、 command_line /usr/bin/printf "%b" "* Nagios *nnNotification Type: $NOTIFICATIONTYPE$nnService: $SERVICEDESC$nHost: $HOSTALIAS$nAddress: $HOSTADDRESS$nS 12. tate:
57、60;$SERVICESTATE$nnDate/Time: $LONGDATETIME$nnAdditional Info:nn$SERVICEOUTPUT$n" | /bin/mail -s "* $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SE 13. RVICESTATE$ *" $CONTACTEMAIL$ 14.
58、 15. #定义检测主机是否存活的命令,command_name是最后在服务中的引用名,而它是调用的check_ping命令来实现的 16. define command 17. command_name check-host-alive 18.
59、160; command_line $USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 5 19. 20. #定义检测主机cpu负载的命令 21. define command 22.
60、; command_name check_local_load 23. command_line $USER1$/check_load -w $ARG1$ -c $ARG2$ 24. 2
61、5. #定义检测主机进程的命令 26. define command 27. command_name check_local_procs 28. command_line $USER1$/check_procs -w $ARG1$ -c
62、0;$ARG2$ -s $ARG3$ 29. 30. #定义检测主机tcp端口的命令 31. define command 32. command_name check_tcp 33.
63、;command_line $USER1$/check_tcp -H $HOSTADDRESS$ -p $ARG1$ $ARG2$ 34. 总结:命令配置文件:格式: define command command_name 命令名 command_line
64、 命令调用的实际插件路径以及阀值 样例:cfg_file=/usr/local/nagios/etc/hosts.cfgcfg_file=/usr/local/nagios/etc/servers.cfgcfg_file=/usr/local/nagios/etc/commands.cfg说明:该变量用于指定一个包含有将用于Nagios监控命令的配置文件。对象配置文件中包括有命令名以及实际插件路径以及阀值的定义。 3./etc/objects/templates.cfg(样本配置文件)1. 此定义的为类,也就是日后定义主机或者服务时指定的name引
65、用 2. define service 3. name generic-service #通过name来指
66、定服务类名,这里的generice-service是一个类名 4. active_checks_enabled 1 #设定启用活动监测服务
67、5. passive_checks_enabled 1 #设定启用被动监测服务 6.
68、160;parallelize_check 1 #设定启用并发活动监测服务 7. obsess_over_serv
69、ice 1 #设定启用服务防停滞 8. check_freshness
70、0; 0 #设定关闭更新监测 9. notifications_enabled
71、 1 #设定启用事件通知 10. event_handler_enabled &
72、#160; 1 #设定启用事件处理程序 11. flap_detection_enabled 1
73、0; #设定启用状态抖动监测 12. failure_prediction_enabled 1 #设定启用故障预测 1
74、3. process_perf_data 1 #设定启用进程性能数据记录 14.
75、0; retain_status_information 1 #设定启用状态信息保存功能。当Nagios重新启动的时候不会是空数据,而是先显示上次离线时最后保留的状态数据。 15.
76、60; retain_nonstatus_information 1 #设定启用非状态信息保存功能。当Nagios重新启动的时候不会是空数据,而是先显示上次离线时最后保留的非状态数据 16. is_volatile
77、; 0 #设定服务非易失 17. check_peri
78、od 24x7 #设定监控的时间段 18. max_check_attempts
79、; 3 #设定监测失败后最多尝试次数 19. normal_check_interval &
80、#160; 10 #设定正常监测服务的间隔,单位分 20. retry_check_interval &
81、#160; 2 #设定监测失败后尝试的间隔,单位分 21. contact_groups &
82、#160;admins #定义通知联系人租 22. notification_options w,u,c,r ,d &
83、#160;#设定监测指定服务产生的事件通知的条件选项。这里后面跟上一些级别类型参数: 23.
84、160; w代表warning告警; 24.
85、60; u代表unknown未知; 25.
86、0;
87、0; c代表critical严重; 26.
88、0; r代表recover恢复; 27.
89、; d代表down奔溃。 28.
90、60;notification_interval 60 #设定服务通知的间隔 29. notification_period &
91、#160; 24x7 #设定服务通知运行时间 30. register
92、0; 0 #设定register表明本段定义的是一个服务类,而不是具体的服务 31.
93、160; 4.etc/objects/localhost.cfg(本机监控文件)1. define host #此定义的为监控主机的配置文件 2.
94、; use linux-server #引用类,在templates.cfg中预定义 3. host_name loc
95、alhost #指定主机名,并不是实际机器的主机名,自己定义,方便以后在定义服务时调用 4. alias localhost &
96、#160;#别名 5. address #指定监控主机的地址 6. 7. define service
97、0; #此定义为监控主机服务的配置文件 8. use local-
98、service #引用类,在templates.cfg中预定义 9. host_name localhost #指定主机名,在host段中预定义 10.
99、 service_description PING #监控服务的名称,也就是在web页面上显示的监控项目 11. check_command check_ping!100.0,20%!500.0,60%
100、 #具体监控的命令以及阀值 12. 备注: 以上定义的主机和服务,没有指定通知联系人,那是因为在其中引用了类,而templates.cfg中定义的类是有指定联系人的。 5.etc/objects/contacts.cfg(联系人配置文件)1. define contact 2. &
101、#160;contact_name nagiosadmin #定义联系人的名称,方便以后在监控项目中调用 3. use
102、0; generic-contact #引用类,在templates.cfg中预定义 4. alias Nagios Admin #别名 5. &
103、#160; email test #邮件地址 6. 7. define contactgroup 8. co
104、ntactgroup_name admins #定义联系人组的名称,方便一次性发送多人 9. alias Nagios Administrat
105、ors #别名 10. members nagiosadmin #定义组成员,这里nagiosadmin,也就是上面contact_name的值 11.
106、 6.etc/objects/timeperiods.cfg(时间段配置文件)1. define timeperiod #定义时间段的配置文件 2.
107、0; timeperiod_name 24x7 #指定时间段的名称,方便以后在服务里调用 3. alias 24 Hours A
108、60;Day, 7 Days A Week #别名 4. sunday 00:00-24:00 #具体的时间段定义 5.
109、160;monday 00:00-24:00 #一周24小时 6. tuesday 00:00-24:00 7.
110、160; wednesday 00:00-24:00 8. thursday 00:00-24:00 9. friday
111、; 00:00-24:00 10. saturday 00:00-24:00 11. 12. define timeperiod
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 银行应聘会计试题及答案
- 银行业会计试题及答案
- 专业综合面试题目及答案
- 心理专业试题及答案分析
- 数控专业考证试题及答案
- 通讯专业试题及答案
- 核科学专业面试题及答案
- 广西梧州市蒙山县2024-2025学年八年级上学期期末考试数学试卷(含答案)
- 灵凤山隧道施工方案
- 教学协议样式
- DDI:制造业人才发展成功实践手册
- 电力施工安全管理办法
- 危险化学品生产许可证实施细则(一)(危险化学品无机产品部分)
- 德瑞斯D600变频器说明书
- 2025年抗菌药物授权培训
- 风力发电征地协调方案(3篇)
- 2025-2030年中国锂电池回收行业市场深度调研及前景趋势与投资研究报告
- 2025至2030年中国汽车制动器行业市场分析研究及发展战略研判报告
- 黑龙江:装配式混凝土矩形渠道应用技术规范(DB23-T 2334-2019)
- 数字化教育资源在跨学科教学中的应用
- JG/T 127-2017建筑门窗五金件滑撑
评论
0/150
提交评论