Zabbix3.4從入門到精通

来源:https://www.cnblogs.com/wenrulaogou/archive/2020/01/14/12190660.html
-Advertisement-
Play Games

zabbix 基礎 第1章 關於zabbix 1.1 為什麼要使用監控 1.對系統不間斷實時監控2.實時反饋系統當前狀態3.保證服務可靠性安全性4.保證業務持續穩定運行 1.2 如何進行監控 比如我們需要監控磁碟的使用率1.如何查看磁碟使用率df h2.監控磁碟的那些指標block、inode3.如 ...


zabbix-基礎

第1章 關於zabbix

1.1 為什麼要使用監控

1.對系統不間斷實時監控
2.實時反饋系統當前狀態
3.保證服務可靠性安全性
4.保證業務持續穩定運行

1.2 如何進行監控

比如我們需要監控磁碟的使用率
1.如何查看磁碟使用率df -h
2.監控磁碟的那些指標block、inode
3.如何獲取具體的信息df -h|awk'//$/{print $(NF-1)}'
4.獲取的數值到達多少報警 80%

1.3 流行的監控工具

1.cacti、Nagios、Zabbix、
2.Lepus(天兔)資料庫監控系統
3.Open-Falcon 小米
4.Prometheus(普羅米修斯,Docker、K8s)

1.4 到一家新公司,如何入手監控

1.硬體監控 路由器、交換機、防火牆
2.系統監控 CPU、記憶體、磁碟、網路、進程、TCP
3.服務監控 nginx、php、tomcat、redis、memcache、mysql
4.WEB監控 請求時間、響應時間、載入時間、
5.日誌監控 ELk(收集、存儲、分析、展示)日誌易
6.安全監控 Firewalld、WAF(Nginx+lua)、安全寶、牛盾雲、安全狗
7.網路監控 smokeping 多機房
8.業務監控

第2章 zabbix部署

2.1 基礎環境劃分

主機名 IP地址 功能
zabbix 172.16.1.71 zabbix服務端
web01 172.16.1.7 zabbix客戶端 nginx
web02 172.16.1.8 zabbix客戶端 nginx
db01 172.16.1.51 資料庫

2.2 安裝zabbix

Zabbix-Server,是一個C/S和B/S結構
1.安裝Zabbix-server

[root@zabbix ~]# rpm -ivhhttps://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
[root@zabbix ~]# yum install -yzabbix-server-mysql zabbix-web-mysql zabbix-agent mariadb-server

2.創建Zabbix資料庫以及用戶
#啟動資料庫,加入開機自啟

[root@zabbix ~]# systemctl enable mariadb
[root@zabbix ~]# systemctl start mariadb

創建資料庫並授權

[root@zabbix ~]# mysql -uroot -p
MariaDB [(none)]> create database zabbixcharacter set utf8 collate utf8_bin;   
MariaDB [(none)]> grant all privileges on zabbix.*to zabbix@localhost identified by 'zabbix';
MariaDB [(none)]> exit

3.導入基礎架構和數據

[root@zabbix ~]# cd/usr/share/doc/zabbix-server-mysql-3.4.14/
進入這個目錄可能不報錯 目錄不存在 大多是因為版本不同 導致目錄名稱改變
[root@zabbix zabbix-server-mysql-3.4.14]# ll
total 2112
-rw-r--r-- 1 root root      98 Sep 14 04:04 AUTHORS
-rw-r--r-- 1 root root  857849 Sep 14 04:04 ChangeLog
-rw-r--r-- 1 root root   17990 Sep 14 04:04 COPYING
-rw-r--r-- 1 root root 1267039 Sep 14 04:09create.sql.gz
-rw-r--r-- 1 root root      52 Sep 14 04:04 NEWS
-rw-r--r-- 1 root root     188 Sep 14 04:04 README
[root@zabbix zabbix-server-mysql-3.4.14]#  zcat create.sql.gz |mysql -uroot zabbix
[root@zabbix zabbix-server-mysql-3.4.14]# mysql-uroot -p    進入資料庫確認一下是否導入成功
MariaDB [(none)]> use zabbix;
MariaDB [zabbix]> show tables;
140 rows in set (0.00 sec)  #因內容過多此處只粘貼總數

4.啟動Zabbix Server進程,在zabbix_server.conf中編輯資料庫配置

[root@m01 ~]# vi/etc/zabbix/zabbix_server.conf  #以下四處需要更改
以下四處大部分起初都被註釋 應該把註釋取消  以下是需要修改的內容所在行 
DBHost=localhost                         #91行
DBName=zabbix                            #101行
DBUser=zabbix                            #117行
DBPassword=zabbix                        #126行
# 啟動ZabbixServer進程
[root@zabbix ~]# systemctl enable zabbix-server
[root@zabbix ~]# systemctl start zabbix-server

5.編輯Zabbix前端的PHP配置,Zabbix前端的Apache配置文件位於 /etc/httpd/conf.d/zabbix.conf。一些PHP設置已經完成了配置。

[root@zabbix ~]# vim /etc/httpd/conf.d/zabbix.conf
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
# php_value date.timezone Asia/Shanghai              #20行
依據所在時區,取消 “date.timezone” 設置的註釋,並正確配置(Asia/Shanghai)。在配置文件更改後,需要重啟ApacheWeb伺服器。

6.啟動httpd服務

[root@zabbix ~]#systemctl enable httpd
[root@zabbix ~]#systemctl start httpd

2.3 網頁配置zabbix-web界面

配置完以上內容後 網頁輸入10.0.0.71/zabbix進入zabbix安裝界面、
歡迎界面, 直接下一步即可

檢查依賴項是否不存在任何異常

配置zabbixWeb連接資料庫(如果直接選用遠程資料庫 可以在此處修改)

配置ZabbixServer伺服器的主機名或主機IP地址和埠號, 以及安裝的名稱(可選)

安裝前摘要,檢查配置參數。如果一切都正確,請按"下一步"按鈕或"後退"按鈕來更改配置參數。

提示已成功地安裝了Zabbix前端。配置文件/etc/zabbix/web/zabbix.conf.php被創建。

至此Zabbix已經安裝完畢
預設登陸ZabbixWeb的用戶名Admin,密碼zabbix

第3章 zabbix-web界面優化

3.1 修改為中文字體



點擊update後即為中文字體
(修改為中文字體後可能有些界面會產生亂碼 我們還應該修改下字元集,防止產生亂碼)

3.2 調整字元集

1.先搜索zabbix-web包對應字元存放的目錄

[root@zabbix ~]# rpm -ql zabbix-web|grep fonts
/usr/share/zabbix/fonts

2.進入對應字體目錄,發現字體是一個軟鏈接

[root@zabbix ~]# cd /usr/share/zabbix/fonts/
[root@zabbix fonts]# ll
lrwxrwxrwx 1 root root 33 Oct 11 03:20graphfont.ttf -> /etc/alternatives/zabbix-web-font

3.進入軟鏈接對應的目錄,發現還是軟鏈接

[root@zabbix fonts]# cd /etc/alternatives/
[root@zabbix alternatives]# ll
lrwxrwxrwx1 root root 38 Oct 11 03:20 zabbix-web-font ->/usr/share/fonts/dejavu/DejaVuSans.ttf

4.進入最終字體存放的目錄

[root@zabbix alternatives]# cd/usr/share/fonts/dejavu/

5.將預設字體進行改名

[root@zabbix-server alternatives]# mvDejaVuSans.ttf DejaVuSans.ttf_bak

6.上傳自己準備好的字體,字體可以通過windows電腦獲取

(c:\windows\fonts)

7.最後將新上傳的字體進行改名

[root@zabbix dejavu]# mv simkai.ttf DejaVuSans.ttf

註意:如果字體是ttc,修改為ttf也行。

3.3 調整web界面視窗位置

該操作可以不執行
為了以後方便我們觀察 所以我們修改下 web界面的視窗安排
圖片所示是預設的  點擊編輯儀錶盤 便可以拖動各個小視窗

將如下圖四欄 往上提即可然後保存
目的是方便日後查看

第4章 監控內容部署

4.1 配置一臺主機

1.      在客戶端安裝zabbix-agent

[root@web01 ~]# rpm -ivhhttps://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-agent-3.4.12-1.el7.x86_64.rpm

2.配置修改/etc/zabbix/zabbix_agentd.conf內容

[root@web03 ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=172.16.1.71  #97行 指向Zabbix-Server
Timeout=30 #238行 此處預設是註釋3或4 可以取消註釋修改成30

3.啟動服務並檢查

[root@web01 ~]# systemctl start zabbix-agent
[root@web01 ~]# systemctl enable zabbix-agent
[root@web01 ~]# netstat -lntp
Active Internet connections (only servers)  
tcp0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      981/zabbix_agentd

以上確認配置完成後 進入web界面網頁配置
點擊創建主機


配置完以上內容後 不要直接點擊添加
點擊模板->選擇連接指示器->選擇->搜索Linux->點擊小按鈕添加->最後添加


Template OS Linux 是必添加的監控
添加完成後 點擊主機(如果等幾分鐘 顯示ZBX則為添加成功 沒有問題)

4.2 自定義監控TCP

TCP的12種狀態

tcp[ESTABLISHED]
tcp[SYN_SENT]
tcp[SYN_RECV]
tcp[FIN_WAIT1]
tcp[FIN_WAIT2]
tcp[TIME_WAIT]
tcp[CLOSE]
tcp[CLOSE_WAIT]
tcp[LAST_ACK]
tcp[LISTEN]
tcp[CLOSING]
tcp[UNKNOWN]

1.在對應的主機上編寫自定義監控TCP的11中狀態[在本地進行取值,web01]

[root@web01 ~]# vim/etc/zabbix/zabbix_agentd.d/tcp.conf
UserParameter=tcp[*],netstat -ntal | awk'NR>1{print $NF}'| grep -i "$1" | wc -l

2.在server上使用zabbix_get獲取對應主機的值

[root@zabbix ~]# yum install zabbix-get -y
[root@zabbix ~]# zabbix_get -s 172.16.1.7 -ktcp[estab]

確認無誤後再添加
網頁配置內容
先添加一個模板 在模板里創建監控項這樣以後就不用再次創建
因為模板支持導出導入


創建完模板 點擊監控項

點擊創建監控項

然後開始創建
創建時 名稱只是讓人看的鍵值是最關鍵的 不能更改
添加完一個後  就可以使用這個來克隆其他的
需要註意的是 要確保每個鍵值都正常

克隆完後的 每個都要啟用預設創建完就是啟用的

添加完成後 我們要把模板加入到web01這台主機上進行監控
按照一開始添加模板 將TCP這個模板加入即可
 

檢查是否成功
如果有數據更新即為成功

4.3 自定義監控記憶體

1.在Agent的/etc/zabbix/zabbix_agentd.d/*.conf自定義監控項, 使用UserParameter=KEY,shell command,目的是便於zabbixServer獲取ZabbixAgent對應監控項的數據

[root@web01 zabbix_agentd.d]# vim mem.conf 
UserParameter=Mem.Num,free -m |awk '/^Mem/{print$NF/$2*100}'
UserParameter=Swap.Num,free -m|awk '/^Swap/{print$3/$2*100}'
  1. 使用zabbix_agentd -p | grep KEY,如果獲取到值則正常
[root@web01 zabbix_agentd.d]# zabbix_agentd -p|grep-i Mem_Num
Mem_Num[t|38.501]
  1. 在ZabbixServer端測試獲取ZabbixAgent端自定義的監控項是否正常zabbix_get -s IP_addr -k KEY
[root@zabbix ~]# zabbix_get -s 172.16.1.7 -k Mem.Num
38.7064

然後開始網頁配置


將 Swap.Num 和 Mem.Num 都添加上

添加完成後 查看最新數據

配置完成

第5章 配置觸發器

5.1 配置單條件觸發器

ESTAB超過500就報警



檢查是否添加成功

5.2 多條件觸發器


記憶體使用剩餘不足百分之30且swap使用超過1%就報警

檢查

5.3 登錄用戶超過兩個人就報警


第6章 配置報警

6.1 配置web界面報警



6.2 配置郵件報警

將動作里的觸發器的狀態設置為已啟動(點一下已停止即可)
註意界面右上角 選擇為觸發器不然顯示內容不同

6.2.1 更改報警郵件信息

然後我們點擊名稱 進入配置界面(更改報警郵件發送的信息)
將預設的信息刪除 覆蓋掉
故障!!!: {TRIGGER.NAME}
報警主機:{HOST.NAME1}
報警服務: {ITEM.NAME1}
報警Key1: {ITEM.KEY1}:{ITEM.VALUE1}
報警Key2: {ITEM.KEY2}:{ITEM.VALUE2}
嚴重級別: {TRIGGER.SEVERITY}

恢復: {TRIGGER.NAME}
恢復主機:{HOST.NAME1}
恢復服務: {ITEM.NAME1}
恢復Key1:{ITEM.KEY1}:{ITEM.VALUE1}
恢復Key2: {ITEM.KEY2}:{ITEM.VALUE2}
恢復的內容也要修改

6.2.2 修改報警媒介類型

image.png

6.2.3 添加報警媒介


image.png
添加後 點擊更新 至此 郵件配置完成

6.3 企業微信報警

1.準備微信報警腳本, 腳本怎麼寫->腳本放在哪【相當於配置好了發件人】

[root@zabbix ~]# yum install python-pip -y
[root@zabbix ~]# pip install requests
[root@zabbix ~]# cd /usr/lib/zabbix/alertscripts

報警腳本內容

[root@zabbix alertscripts]# vim weixin.py 
#!/usr/bin/env python
#-*- coding: utf-8 -*-
#author: bgx
#date: 2018
#comment: zabbix接入微信報警腳本
 
import requests
import sys
import os
import json
import logging
 
#!/usr/bin/env python
#-*- coding: utf-8 -*-
#author: bgx
#date: 2018
#comment: zabbix接入微信報警腳本
 
import requests
import sys
import os
import json
import logging
 
logging.basicConfig(level = logging.DEBUG, format= '%(asctime)s, %(filename)s, %(levelname)s, %(message)s',
datefmt = '%a, %d %b %Y %H:%M:%S',
filename = os.path.join('/tmp','weixin.log'),
filemode = 'a')
 
 
corpid='wwabcf092986138a4f'
appsecret='47r80t2cfYbQfrOs8mRXUx84H44RdFTJ9BMvVaeQUVQ'
agentid=1000002
#獲取accesstoken
token_url='https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid='+ corpid + '&corpsecret=' + appsecret
req=requests.get(token_url)
accesstoken=req.json()['access_token']
 
#發送消息
msgsend_url='https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token='+ accesstoken
 
touser=sys.argv[1]
subject=sys.argv[2]
#toparty='3|4|5|6'
message=sys.argv[2] + "\n\n"+sys.argv[3]
 
params={
"touser": touser,
#"toparty": toparty,
"msgtype": "text",
"agentid": agentid,
"text": {
"content": message
        },
"safe":0
}
 
req=requests.post(msgsend_url,data=json.dumps(params))
 
logging.info('sendto:' + touser + ';;subject:' +subject + ';;message:' + message)

給腳本增加執行許可權並測試

[root@zabbix alertscripts]# chmod +x weixin.py
[root@zabbix alertscripts]# ./weixin.py  nfsnobodySubject Messages  #測試
[root@zabbix alertscripts]# rm -f /tmp/weixin.log   #刪除這個文件不然會報錯

開始web界面配置

下圖需要增加的內容(註意不要有空格  不然會報錯 很難發現)
{ALERT.SENDTO}#發給誰
{ALERT.SUBJECT}#發送的主題
{ALERT.MESSAGE}#發送的內容   
腳本名稱 直接填寫腳本的名稱即可
但要註意  腳本必須放在server端的/usr/lib/zabbix/alertscripts目錄下

添加完報警媒介類型後 在報警媒介新增 微信的報警資料  (添加完後不要忘記點擊更新)
image.png

6.4 配置報警升級

先創建兩個用戶組


增加報警媒介
image.png
修改用戶的許可權 只有管理員才能接收信息

點擊配置--動作

將已經存在的一項更新一下

然後添加一個新的

添加完成後 點擊更新此處只添加了兩個用戶  三個用戶 依次往下即可

第7章 快速配置新主機

7.1 配置zabbix本地

server端是zabbix本地伺服器  配置和其他伺服器略有不同
下載zabbix-agent

[root@zabbix ~]# rpm -ivhhttps://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-agent-3.4.14-1.el7.x86_64.rpm
[root@zabbix ~]# vim/etc/zabbix/zabbix_agentd.conf

Timeout=30  #238行  把這個取消註釋 改成30即可  server端的 agent不需要修改server
要註意的是 server端要使用zabbix-get測試  -s 後的地址要寫127.0.0.1

[root@zabbix ~]# systemctl enablezabbix-agent.service 
[root@zabbix ~]# systemctl startzabbix-agent.service

網頁配置(server端有zabbix配置好的 只需要啟用即可)

server端有已經配好的兩個模板 只需要把TCP和記憶體的模板套用即可
(還需要把agent的conf文件從web伺服器拉過來)


把agent里的conf配置文件都拉過來

[root@zabbix ~]# scp [email protected]:/etc/zabbix/zabbix_agentd.d/* /etc/zabbix/zabbix_agentd.d/

重啟一下agent服務

[root@zabbix ~]# systemctl restartzabbix-agent.service

7.2 其他agent端

以db01配置為例  (其實除server端 其他配置除了IP地址都是一樣的)

[root@db01 ~]# rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-agent-3.4.14-1.el7.x86_64.rpm

修改agent配置文件  server指向的IP地址是必須要修改的

[root@db01 ~]# vim /etc/zabbix/zabbix_agentd.conf    #以下是修改後的內容
Server=172.16.1.71    
Timeout=30

啟動服務並加入開機自啟動

[root@db01 ~]# systemctl enablezabbix-agent.service 
[root@db01 ~]# systemctl startzabbix-agent.service

然後進入網頁添加

添加模板  直接套用 (這就是創建模板的好處之一  可以直接套用)

把配置文件拉過來  然後重啟agent

[root@db01 ~]# scp [email protected]:/etc/zabbix/zabbix_agentd.d/* /etc/zabbix/zabbix_agentd.d/
[root@db01 ~]# systemctl restartzabbix-agent.service

檢查如圖兩處 可以看出是否有錯誤 下圖已配置完成

第8章 自定義圖形配置

8.1 聚合圖形配置

聚合圖形有助於觀察

點擊名稱 可以進入編輯或查看

點擊編輯 增加圖片

此處就像是表格 增加行和列 點擊更改就可以增加圖片

點擊圖片可以選擇圖片  右上角可以選擇群組(群組就是主機)

下圖就是增加完的內容  修改已存在的圖片也是點擊更改新增也一樣

8.2 幻燈片配置

幻燈片一般是在聚合圖形的基礎上配置
將聚合圖形改為幻燈片即可編輯幻燈片

如果只有一個聚合圖形 是不需要幻燈片的

點擊添加即可  延遲時間就是圖片更改時間

8.3 安裝圖形樹

1.安裝graphtree

[root@zabbix ~]# cd /usr/share/zabbix
[root@zabbix zabbix]# wget https://raw.githubusercontent.com/OneOaaS/graphtrees/master/graphtree3.0.4.patch

2.導入補丁包

[root@zabbix zabbix]# yum install -y patch
[root@zabbix zabbix]# patch  -Np0 <graphtree3.0.4.patch
[root@zabbix zabbix]# chown -R apache.apacheoneoaas

3.新增Apache配置文件

[root@zabbix zabbix]# vim/etc/httpd/conf.d/zabbix.conf
Alias /zabbix /usr/share/zabbix
Alias /oneoaas /usr/share/zabbix/oneoaas

4.重啟httpd服務

[root@zabbix zabbix]# systemctl restart httpd

第9章 拆分資料庫

9.1 拆分配置過程

LAP+MySQL架構(修改如下兩個文件中連接資料庫的配置信息)
將zabbix資料庫拆分到db01上
要修改以下兩個文件的內容

[root@zabbix ~]#  ll /etc/zabbix/zabbix_server.conf
[root@zabbix ~]#  ll /etc/zabbix/web/zabbix.conf.php

1.在新的資料庫上創建zabbix庫

[root@db01 ~]# mysql -uroot -pNfsnobody123.com
mysql> create database zabbix character setutf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* tozabbix@'%' identified by 'Nfsnobody123.com'; 
#到此處會提示許可權過大 不用理會

2.在舊的zabbix伺服器上備份資料庫文件,然後倒至新的資料庫

[root@zabbix ~]#  mysqldump -uroot \
--databases zabbix \
--single-transaction > `date +%F%H`-zabbix.sql
[root@zabbix ~]#  cat 2018-08-2017-zabbix.sql |mysql -h10.0.0.51 -uzabbix -pNfsnobody123.com zabbix

3.修改zabbixServer的資料庫連接信息

[root@zabbix ~]#  vim /etc/zabbix/zabbix_server.conf   這是修改後的內容
DBHost=172.16.1.51
DBName=zabbix
DBUser=zabbix
DBPassword=Nfsnobody123.com
[root@m01 ~]# systemctl restart zabbix-server    修改後需要重啟

4.修改zabbixWeb連接資料庫信息   

[root@m01 ~]# vim /etc/zabbix/web/zabbix.conf.php   修改後如下圖
$DB['TYPE']= 'MYSQL';
$DB['SERVER']= '172.16.1.51';
$DB['PORT']= '0';
$DB['DATABASE'] = 'zabbix';
$DB['USER']     = 'zabbix';
$DB['PASSWORD'] = 'Nfsnobody123.com';
[root@m01 ~]# systemctl restart httpd

9.2 錯誤案例

如出現如下錯誤:請檢查資料庫是否允許遠程連接,對應的賬戶和密碼是否配置錯誤

[root@m01 ~]# tail -f/var/log/zabbix/zabbix_server.log
 2189:20180820:173636.941 [Z3001] connection todatabase 'zabbix' failed: [2003] Can't connect to MySQL server on '172.16.1.51'(111)

 
 
 
 
 
 
 
 
 
 
 
 
 
 
                                                    


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 開發環境: windows10 x64 專業版 工具準備: git 2.16.2 windows命令行版 java jdk 1.8:https://www.cnblogs.com/harmful-chan/p/12193497.html maven 3.6.3:https://www.cnblogs ...
  • 打開終端 輸入下麵命令回車: defaults delete com.apple.appstore.commerce Storefront 接上步驟,繼續輸入下麵命令回車: defaults write com.apple.appstore.commerce Storefront -string " ...
  • 安裝虛擬機: RedHat+CentOS 我說略會不會被打,哈哈,這個虛擬機的安裝之後我再補上吧~~ 首先查看已經安裝的mysql相關的包 rpm -qa | grep mysql 執行之後會出現以下結果,但是這僅僅是自帶的一個工具包,mysql其實並沒有安裝 在CentOS6.9用yum就可以安裝 ...
  • CentOS7 埠的開放關閉查看都是用防火牆來控制的,具體命令如下: 查看防火牆狀態:(active (running) 即是開啟狀態) [root@WSS bin]# systemctl firewalld status Unknown operation 'firewalld'. [root@ ...
  • 為什麼使用shell 可以快速、簡單的完成編程,實現自己的想法。Shell非常適合編寫小的工具,因為小工具更強調的是易於配置、維護、移植等,而不是執行效率。 當自己的想法確實有必要進行優化,有必要讓它更容易修改以及修正設計目的時,可以將shell編寫的工具重新用C、C++/python等語言重新實現 ...
  • [Unit] Description=The redis-server Process Manager Documentation=https://redis.io/ After=network.target [Service] Type=forking ExecStart=/root/redis- ...
  • 在整個地址空間範圍內讀寫各種類型的數據。通常MRAM的操作和時序類似於32位微控制器的規範和時序。與DLFASH相比,當今的非易失性存儲器可以接受MRAM設備的性能和吞吐量。 與當今的DFLASH相比,未來的汽車動力總成控制器可能需要更快,更加強大的非易失性和保活記憶體。在非易失性存儲器中使用MRAM ...
  • POSIX:Potable Operating System Interface of UNIX (可移植操作系統介面),是IEEE為要在各種UNIX操作系統上運行軟體,而定義API的一系列互相關聯的標準的總稱,其正式稱呼為IEEE Std 1003,而國際標準名稱為ISO/IEC 9945。 PO ...
一周排行
    -Advertisement-
    Play Games
  • 前言 在我們開發過程中基本上不可或缺的用到一些敏感機密數據,比如SQL伺服器的連接串或者是OAuth2的Secret等,這些敏感數據在代碼中是不太安全的,我們不應該在源代碼中存儲密碼和其他的敏感數據,一種推薦的方式是通過Asp.Net Core的機密管理器。 機密管理器 在 ASP.NET Core ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 順序棧的介面程式 目錄順序棧的介面程式頭文件創建順序棧入棧出棧利用棧將10進位轉16進位數驗證 頭文件 #include <stdio.h> #include <stdbool.h> #include <stdlib.h> 創建順序棧 // 指的是順序棧中的元素的數據類型,用戶可以根據需要進行修改 ...
  • 前言 整理這個官方翻譯的系列,原因是網上大部分的 tomcat 版本比較舊,此版本為 v11 最新的版本。 開源項目 從零手寫實現 tomcat minicat 別稱【嗅虎】心有猛虎,輕嗅薔薇。 系列文章 web server apache tomcat11-01-官方文檔入門介紹 web serv ...
  • C總結與剖析:關鍵字篇 -- <<C語言深度解剖>> 目錄C總結與剖析:關鍵字篇 -- <<C語言深度解剖>>程式的本質:二進位文件變數1.變數:記憶體上的某個位置開闢的空間2.變數的初始化3.為什麼要有變數4.局部變數與全局變數5.變數的大小由類型決定6.任何一個變數,記憶體賦值都是從低地址開始往高地 ...
  • 如果讓你來做一個有狀態流式應用的故障恢復,你會如何來做呢? 單機和多機會遇到什麼不同的問題? Flink Checkpoint 是做什麼用的?原理是什麼? ...
  • C++ 多級繼承 多級繼承是一種面向對象編程(OOP)特性,允許一個類從多個基類繼承屬性和方法。它使代碼更易於組織和維護,並促進代碼重用。 多級繼承的語法 在 C++ 中,使用 : 符號來指定繼承關係。多級繼承的語法如下: class DerivedClass : public BaseClass1 ...
  • 前言 什麼是SpringCloud? Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的開發便利性簡化了分散式系統的開發,比如服務註冊、服務發現、網關、路由、鏈路追蹤等。Spring Cloud 並不是重覆造輪子,而是將市面上開發得比較好的模塊集成進去,進行封裝,從 ...
  • class_template 類模板和函數模板的定義和使用類似,我們已經進行了介紹。有時,有兩個或多個類,其功能是相同的,僅僅是數據類型不同。類模板用於實現類所需數據的類型參數化 template<class NameType, class AgeType> class Person { publi ...
  • 目錄system v IPC簡介共用記憶體需要用到的函數介面shmget函數--獲取對象IDshmat函數--獲得映射空間shmctl函數--釋放資源共用記憶體實現思路註意 system v IPC簡介 消息隊列、共用記憶體和信號量統稱為system v IPC(進程間通信機制),V是羅馬數字5,是UNI ...