在編寫Puppet模塊的時候,會存在不少依賴關係,好比配置依賴於安裝包,服務依賴於配置等等,有的時候還會有虛擬資源存在,依賴更復雜,那麼有沒有什麼辦法可以直觀的去看呢,答案是有的,能夠經過Puppet graph選項生成資源之間的依賴關係圖。node
一、安裝graphviz軟件包,用於轉換dot文件爲png格式linux
[root@linux64poc ~]# yum install graphviz
二、在節點運行puppet命令,加上--graph參數便可app
[root@linux64poc ~]# puppet agent --test --environment=testing --graph info: Retrieving plugin info: Loading facts in /var/lib/puppet/lib/facter/puppi_projects.rb info: Loading facts in /var/lib/puppet/lib/facter/fact_apply.rb info: Loading facts in /var/lib/puppet/lib/facter/last_run.rb info: Caching catalog for puppet_linux64poc.dev.shanghaigm.com info: Applying configuration version '1392080856' ...
三、運行完成以後,會在本地/var/lib/puppet/state/graphs目錄下生成dot文件ide
[root@linux64poc ~]# tree /var/lib/puppet/state/graphs/ /var/lib/puppet/state/graphs/ ├── expanded_relationships.dot #顯示詳細版本的關係圖 ├── relationships.dot #以箭頭方式顯示依賴關係 └── resources.dot #顯示資源的類和層次關係,但沒有依賴關係 0 directories, 3 files
四、利用dot命令將圖片格式轉換成png格式spa
[root@linux64poc ~]# dot -Tpng -o puppet_allmodules.png /var/lib/puppet/state/graphs/relationships.dot [root@linux64poc ~]# ll puppet_allmodules.png -rw-r----- 1 root root 553703 Feb 11 09:08 puppet_allmodules.png
五、打開圖片查看,只截取了一部分圖片