原创 rabbitmq 單, 多進程併發 消費 python 腳本

問題 python 腳本進行 MQ 消費過慢, rabbitmq 服務端開始累積隊列的時候, 會發現 python 腳本跑滿 CPU 假如消費隊列中, 消息具有前後依賴關係,那麼多線程併發 python 腳本可以保持這個依賴關係

原创 rabbitmqadmin 使用方法

作用 一個可以對 rabbitmq 進行監控的 python 腳本 獲取方法 curl http://rabbitmq-server:15672/cli/rabbitmqadmin > rabbitmqadmin 該工具只

原创 CentOS 8 常見問題

鏡像 rsync 方法 網址及版本選擇 訪問 centos官方網站中對應的地區,並執行網絡最快的地址 https://www.centos.org/download/mirrors/ 選擇帶 Rsync Location 的

原创 openstack icehouse 升級libvirtd 記錄

目標 希望解決針對 openstack 使用用戶反饋經常性遇到大容量 vm , 高 IO 吞吐遇到死機問題而進行升級 參考 kernel 下載 URL 升級 vm 嘗試升級 vm kernel ( centos7) rpm

原创 svn + apache module 備忘

安裝目標:  配置文件 /etc/httpd/conf.d/subversion.conf /etc/httpd/conf/httpd.conf /etc/svn-auth-users 端口 34888 啓動方法

原创 ceph (luminous 版) crushmap 與 pool結合用於物理劃分 IO 使用域

目的 利用 crushmap , 把不同的 osd 存放到不同的分組中 不同的 ceph pool 獨立使用到不同的 crushmap 分組 (即使用不同的 osd 磁盤) 從物理上隔離了不同的 pool 數據讀寫 IO ce

原创 mysql 相關索引

mysql xtrabackup 用法[備忘] mysql toolkit 用法[備忘] Galera/mysql 集羣 備忘 mysql preformance_schema 翻譯 mysql information_schem

原创 golang go-callvis

目的 環境 環境版本說明 OScentos7 golang1.12.6 go-callvislastesthttps://github.com/TrueFurby/go-callvis 軟件獲取方法 go get -u githu

原创 centos7 firefox 安裝 java plugin方法

目標 centos7 下安裝 firefox 利用 firefox 打開物理機 idrac 卡進行遠程管理 安裝 firefox yum install -y firefox 安裝 icetea 軟件 yum install

原创 grafana api 訪問方法

目的 通過腳本對 grafana 進行訪問獲取相應數據 創建 key 由於不希望該 api key 權限過大, 因此當前創建 key 只可以用於當前創建的 ORG 在創建 KEY 時, 如果只授權 view , 因此很多

原创 centos7 編譯wget cur ltls

目的 編譯新版本 tls 用於 wget, curl 工具 下載地址 nettle-3.6 gnutls-3.6.13 需要 nettle 依賴 oepnssl-1.1.1g (可選) wget2-1.99 wge-1.20

原创 openstack 管理 四十四 - cinder qos 限制

前提 centos7 + qemu-2.x ( centos 默認版本) openstack icehourse (其他版本同理) ceph 後端存儲 目的 假如不限制 ceph io , 則一兩個用戶進行無限制數據 IO

原创 內存 ECC 校驗錯誤

目的 dmesg 中發現內存 ECC 校驗錯誤 檢測出有問題的內存位置 dmesg 信息 [ 4.745351] EDAC sbridge MC0: HANDLING MCE MEMORY ERROR [ 4.74

原创 golang json 處理方法

目的 利用 golang 進行定義,輸出 json 格式 golang 其實對 json 格式定義建議使用 struct 格式, 比較清晰,方便 json 格式 常見 json 格式爲 list , dict 兩種 參

原创 python list 分片方法

目標 一個長度特別大的 list 需要進行分片輸出 參考代碼如下 #!/usr/bin/python # -*- coding:utf-8 -*- def listFragment(): ltest = range