新聞中心
LinuxTrace: Tracking Domn Issues in Linux System

LinuxTrace is a powerful tool that allows users to yze the performance and behavior of Linux systems. It can be used to trace system calls, kernel events, network packets, and much more. In this article, we will focus on using LinuxTrace to track domn issues in Linux systems.
What are Domn Issues?
Domn issues refer to problems that arise when a Linux system is unable to resolve domn names. This can lead to issues accessing websites, sending and receiving emls, and connecting to other network resources. Domn issues can be caused by a variety of factors, including DNS server errors, improper network configuration, and firewall settings.
Using LinuxTrace to Trace Domn Issues
The first step in using LinuxTrace to trace domn issues is to identify the problem. This can be done by checking the system logs for any DNS-related errors or messages. Once the problem has been identified, LinuxTrace can be used to trace the DNS queries and responses that are being sent and received by the system.
LinuxTrace can capture and record DNS queries and responses using the following commands:
sudo strace -f -e trace=network -s 100 dnsdomnname
This command will trace the network events related to the dnsdomnname command, which is used to print the host’s domn name.
sudo tcpdump -i eth0 -n -s 0 -w /tmp/trace.pcap -v port 53
This command will capture DNS traffic on the eth0 interface and store it in a trace file (/tmp/trace.pcap).
Once these commands have been executed, LinuxTrace will begin capturing the DNS traffic on the system. This traffic can then be yzed using tools like Wireshark, which can be used to yze the captured packets and identify any issues with the DNS resolution process.
Tips for Resolving Domn Issues
1. Check the DNS server settings: Make sure that the DNS server settings on the Linux system are correct and that the system is able to communicate with the DNS server.
2. Check the network configuration: Make sure that the Linux system is configured correctly and that it is able to communicate with other network resources. Check the IP address, netmask, gateway, and DNS server settings to ensure that they are correct.
3. Check the firewall settings: Make sure that the firewall settings on the Linux system are not blocking DNS traffic. If necessary, configure the firewall to allow DNS traffic.
4. Use a different DNS server: If the DNS server settings are correct but the system is still having issues resolving domn names, try using a different DNS server.
Conclusion
Domn issues can be frustrating and can cause a lot of downtime for Linux systems. However, with LinuxTrace, these issues can be quickly identified and resolved. By tracing DNS queries and responses, LinuxTrace can help users understand the root cause of domn issues and take the necessary steps to resolve them. Remember to always check the DNS server settings, network configuration, firewall settings, and try using a different DNS server if necessary. With these tips in mind, users can ensure that their Linux systems are always performing at their best.
相關(guān)問(wèn)題拓展閱讀:
- linux怎么traceroute
- Linux 下traceroute的工作原理是什么 !
- 如何選擇一個(gè) Linux Tracer
linux怎么traceroute
如果能夠跳過(guò)就先跳盯沖碼過(guò),安裝后再找相關(guān)的rpm包安裝即可,traceroute這個(gè)軟件包用于跟蹤路凱哪由信息,如果你不用這個(gè)功能也可判陪以不裝。
Linux 下traceroute的工作原理是什么 !
是用來(lái)發(fā)出數(shù)春譽(yù)敬據(jù)包的主機(jī)到目標(biāo)主虛蠢機(jī)之間所經(jīng)過(guò)的網(wǎng)關(guān)的工具。traceroute 的原理是試圖以最小的TTL發(fā)出探測(cè)包來(lái)跟蹤數(shù)據(jù)包到達(dá)目標(biāo)主機(jī)所經(jīng)過(guò)的網(wǎng)關(guān),然后監(jiān)聽(tīng)一個(gè)來(lái)自扒慎網(wǎng)關(guān)ICMP的應(yīng)答。發(fā)送數(shù)據(jù)包的大小默認(rèn)為 38個(gè)字節(jié)。
如何選擇一個(gè) Linux Tracer
tracer 是一個(gè)高級(jí)的性能分析和診斷工具,但是不要讓這名詞唬住你,如果你使用過(guò) strace 和tcpdump,其實(shí)你就已經(jīng)使用過(guò) tracer 了。系統(tǒng) tracer 可以獲取更多的系統(tǒng)調(diào)用和數(shù)據(jù)包。它們通常能跟蹤任意的內(nèi)核和應(yīng)用程序。
有太多的 linux tracer 可以選擇。每一種都有其官方的(或非官方的)的卡通的獨(dú)角獸吉祥物,足夠撐起一臺(tái)”兒童劇”了。
那么我們應(yīng)該使用哪個(gè) tracer 呢?
我會(huì)為兩類讀者回答這個(gè)問(wèn)題,大部分人和性能/內(nèi)核工程師。過(guò)一段時(shí)間這些可能會(huì)發(fā)生變化,我會(huì)持續(xù)跟進(jìn)并補(bǔ)充,大概會(huì)一年更新一次。
多數(shù)人
多數(shù)人 (開(kāi)發(fā)者,系統(tǒng)管理員,開(kāi)發(fā)管理者,運(yùn)維人員,評(píng)測(cè)人員,等等) 不關(guān)心系統(tǒng)追蹤器的細(xì)節(jié)。下面是對(duì)于追蹤器你應(yīng)該知道和做的:
1. 使用perf_events分析CPU性能
使用 perf_events 做 CPU 性能分析。性能指標(biāo)可以使用flame graph 等工具做可視化。
git clone –depth 1
perf record -F 99 -a -g — sleep 30
perf script | ./FlameGraph/stackcollapse-perf.pl | ./FlameGraph/flamegraph.pl > perf.svg
Linux perf_events (又稱 “perf”,同命令名) 是 Linux 用戶的官方追蹤器和性能分析器。內(nèi)置于內(nèi)核代碼,有很好維護(hù)(近來(lái)獲得快速增強(qiáng)),通常通過(guò) linux 命令行工具包添加。
perf 有很多功能,如果只能推薦一個(gè),我選擇 CPU 性能分析。盡陵友管這只是采樣,而不是從技術(shù)上追蹤事件。最難的部分是獲取完整的棧和信息,我為 java 和 node.js 做的一個(gè)演講 Linux Profiling at Netflix中已經(jīng)說(shuō)過(guò)這個(gè)問(wèn)題
2.了解其他的Tracer
正如我一個(gè)朋友說(shuō)的:“你不需要知道如何操作 X 射線機(jī)器,但是一旦你吞了一枚硬幣,你得知道這得去做 X 射線”,你應(yīng)該了解各種 tracer 都能做什么,這樣就能在你工作中真正需要 tracer 的時(shí)候,你既可以選擇稍后學(xué)習(xí)使用,也可以雇相應(yīng)的人來(lái)完成。
簡(jiǎn)短來(lái)說(shuō):幾乎所有的東西都可以使用 tracer 來(lái)尺手槐進(jìn)行分析和跟蹤。如,文件系統(tǒng),網(wǎng)絡(luò)處理器,硬件驅(qū)動(dòng)器,全部的應(yīng)用程序??梢钥匆幌挛业膫€(gè)人網(wǎng)站上關(guān)于 ftrace的文章,還有我寫的薯螞關(guān)于perf_events 文檔介紹,可以做為一個(gè)追蹤(或者性能分析)的例子。
3. 尋求前端支持工具
如果你正想買一個(gè)能支持跟蹤 Linux 的性能分析工具(有許多賣這類工具的公司)。想像一下,只需要直接點(diǎn)擊一下界面就能“洞察”整個(gè)系統(tǒng)內(nèi)核,包括隱藏的不同堆棧位置的熱圖,我在Monitorama talk 中介紹了一個(gè)這樣帶圖形界面的工具。
我開(kāi)源了一些我自己開(kāi)發(fā)的前端工具,盡管只是 CLI (命令行界面)而不是(圖形界面)。這些工具也會(huì)讓人們更加快速容易的使用 tracer。比如下面的例子,用我的 perf_tool,跟蹤一個(gè)新進(jìn)程:
# ./execsnoopTracing exec()s. Ctrl-C to end.
PID PPID ARGS
man ls
preconv -e UTF-8
pager -s
nroff -mandoc -rLL=164n -rLT=164n -Tutf8
在 Netflix 上,我們創(chuàng)建了一個(gè) Vector,一個(gè)分析工具的實(shí)例同時(shí)也是 Linux 上的 tracer 的最終前端。
致性能或內(nèi)核工程師
我們的工作變的越來(lái)越困難,很多的人會(huì)問(wèn)我們?cè)趺礃尤プ粉?,哪種路徑可以用!為了正確理解一個(gè)路徑,你經(jīng)常需要花上至少100個(gè)小時(shí)才能做到。理解所有的 linux 路徑去做出理性的決定是一個(gè)浩大的工程。(我可能是唯一一個(gè)接近做到這件事情的人)
這里是我的建議,可以二選其一:
A) 選中一個(gè)全能的路徑,并且使它標(biāo)準(zhǔn)化,這將涉及花費(fèi)大量的時(shí)間去弄清楚它在測(cè)試環(huán)境中的細(xì)微差別和安全性。我現(xiàn)在推薦 SystemTap 的最新版本(ie,從源代碼構(gòu)建)。我知道有些公司已經(jīng)選用 LTTng,而且他們用的很好,盡管它不是非常的強(qiáng)大(雖然它更安全)。Sysdig 可以成為另一個(gè)候選如果它可以增加追蹤點(diǎn)或者 kprobes。
B) 遵循我上面提供的流程圖,它將意味著盡可能更多的使用 ftrace 或者 perf_event, eBPF 會(huì)得到整合,之后其他的路徑像 SystemTap/LTTng 會(huì)去填補(bǔ)這個(gè)空白。這就是我目前在 Netflix 做的工作。
tracer 的評(píng)論:
1. ftrace
我喜歡用 ftrace,它是內(nèi)核 hacker 的首選,內(nèi)置于系統(tǒng)內(nèi)核,可以使用跟蹤點(diǎn)(靜態(tài)檢查點(diǎn)),能調(diào)用內(nèi)核 kprobes 和 uprobes 調(diào)試工具。并且提供幾個(gè)這樣的功能:帶可選過(guò)濾器和參數(shù)的事件追蹤功能;在內(nèi)核中進(jìn)行統(tǒng)計(jì)的事件計(jì)數(shù)和定時(shí)功能;還有函數(shù)流程遍歷的功能??梢钥匆幌聝?nèi)核代碼中 ftrace.txt 例子了解一下。ftrace 由 /sys 控制,僅支持單一的 root 用戶使用(但是你可以通過(guò)緩沖區(qū)實(shí)例破解以支持多用戶)。某些時(shí)候 Ftrace 的操作界面非常繁瑣,但是的確非?!癶ack”,而且它有前端界面。Steven Rostedt,ftace 的主要作者,創(chuàng)建了 trace-cmd 命令工具,而我創(chuàng)建了 perf 的工具集。我對(duì)這個(gè)工具更大的不滿就是它不可編程。舉例來(lái)說(shuō),你不能保存和獲取時(shí)間戳,不能計(jì)算延遲,不能把這些計(jì)算結(jié)果保存成直方圖的形式。你需要轉(zhuǎn)儲(chǔ)事件至用戶級(jí)別,并且花一些時(shí)間去處理結(jié)果。ftrace 可以通過(guò) eBPF 變成可編程的。
2.perf_events
perf_events 是 Linux 用戶的主要跟蹤工具,它內(nèi)置在內(nèi)核源碼中,通常通過(guò) linux-tools-commom 加入。也稱“perf”,同前端工具名稱,通常用來(lái)跟蹤和轉(zhuǎn)儲(chǔ)信息到一個(gè)叫做 perf.data 的文件中,perf.data 文件相當(dāng)于一個(gè)動(dòng)態(tài)的緩沖區(qū),用來(lái)保存之后需要處理的結(jié)果。ftrace 能做到的,perf_events 大都也可以做到,perf-events 不能做函數(shù)流程遍歷,少了一點(diǎn)兒“hack”勁兒(但是對(duì)于安全/錯(cuò)誤檢查有更好的支持)。它可以進(jìn)行 CPU 分析和性能統(tǒng)計(jì),用戶級(jí)堆棧解析,也可以使用對(duì)于跟蹤每行局部變量產(chǎn)生的調(diào)試信息。它也支持多用戶并發(fā)操作。和 ftrace 一樣也不支持可編程。如果要我只推薦一款 tracer,那一定是 perf 了。它能解決眾多問(wèn)題,并且它相對(duì)較安全。
3. eBPF
extended Berkeley Packet Filter(eBPF)是一個(gè)可以在事件上運(yùn)行程序的高效內(nèi)核虛擬機(jī)(JIT)。它可能最終會(huì)提供 ftrace 和 perf_events 的內(nèi)核編程,并強(qiáng)化其他的 tracer。這是 Alexei Starovoitov 目前正在開(kāi)發(fā)的,還沒(méi)有完全集成,但是從4.1開(kāi)始已經(jīng)對(duì)一些優(yōu)秀的工具有足夠的內(nèi)核支持了,如塊設(shè)備I/O的延遲熱圖??蓞⒖计渲饕髡?Alexei Starovoitov 的BPF slides和eBPF samples。
4. SystemTap
SystemTap 是最強(qiáng)大的tracer。它能做所有事情,如概要分析,跟蹤點(diǎn),探針,uprobes(來(lái)自SystemTap),USDT和內(nèi)核編程等。它將程序編譯為內(nèi)核模塊,然后加載,這是一種獲取安全的巧妙做法。它也是從tree發(fā)展而來(lái),在過(guò)去有很多問(wèn)題(多的可怕)。很多不是 SystemTap 本身的錯(cuò)——它常常是之一個(gè)使用內(nèi)核追蹤功能,也是之一個(gè)碰到 bug 的。SystemTap 的最新版本好多了(必須由源代碼編譯),但是很多人仍然會(huì)被早期版本嚇到。如果你想用它,可先在測(cè)試環(huán)境中使用,并與irc.freenode.net上 的 #systemtap 開(kāi)發(fā)人員交流。(Netflix 有容錯(cuò)機(jī)制,我們已經(jīng)使用了 SystemTap,但是可能我們考慮的安全方面的問(wèn)題比你們少。)我更大的不滿是,它似乎認(rèn)為你有常常沒(méi)有的內(nèi)核 debug 信息。實(shí)際上沒(méi)有它也能做很多事情,但是缺少文檔和例子(我必須自己全靠自己開(kāi)始學(xué)習(xí))。
5. LTTng
LTTng 優(yōu)化了事件采集,這比其他 tracers 做得好。它從 tree 發(fā)展而來(lái),它的核心很簡(jiǎn)單:通過(guò)一組小規(guī)模的固定指令集將事件寫入追蹤緩沖區(qū),這種方式使它安全、快速,缺點(diǎn)是它沒(méi)有內(nèi)核編碼的簡(jiǎn)單途徑。我一直聽(tīng)說(shuō)這不是一個(gè)大問(wèn)題,因?yàn)楸M管需要后期處理,它也已經(jīng)優(yōu)化到可以充分的度量。此外,它還首創(chuàng)了一個(gè)不同的分析技術(shù),更多對(duì)所有關(guān)注事件的黑盒記錄將稍后以 GUI 的方式進(jìn)行研究。我關(guān)心的是前期沒(méi)有考慮到要錄制的事件缺失問(wèn)題如何解決,但我真正要做的是花更多時(shí)間來(lái)看它在實(shí)踐中用的怎么樣。這是我花的時(shí)間最少的一個(gè) tracer(沒(méi)有什么特殊原因)。
6. Ktap
ktap 在過(guò)去是一款前景很好的 tracer,它使用內(nèi)核中的 lua 虛擬機(jī)處理,在沒(méi)有調(diào)試信息的情況下在嵌入式設(shè)備上運(yùn)行的很好。它分為幾個(gè)步驟,并在有一段時(shí)間似乎超過(guò)了 Linux 上所有的追蹤器。然后 eBPF 開(kāi)始進(jìn)行內(nèi)核集成,而 ktap 的集成在它可以使用 eBPF 替代它自己的虛擬機(jī)后才開(kāi)始。因?yàn)?eBPF 仍將持續(xù)集成幾個(gè)月,ktap 開(kāi)發(fā)者要繼續(xù)等上一段時(shí)間。我希??今年晚些時(shí)候它能重新開(kāi)發(fā)。
7. dtrace4linux
dtrace4linux 主要是 Paul Fox 一個(gè)人在業(yè)余時(shí)間完成的,它是 Sun DTrace 的 Linux 版本。它引入矚目,還有一些 provider 可以運(yùn)行,但是從某種程度上來(lái)說(shuō)還不完整,更多的是一種實(shí)驗(yàn)性的工具(不安全)。我認(rèn)為,顧忌到許可問(wèn)題,人們會(huì)小心翼翼的為 dtrace4linux 貢獻(xiàn)代碼:由于當(dāng)年 Sun 開(kāi)源DTrace 使用的是 CDDL 協(xié)議,而 dtrace4linux 也不大可能最終進(jìn)入 Linux kernel。Paul 的方法很可能會(huì)使其成為一個(gè) add-on。我很樂(lè)意看到 Linux 平臺(tái)上的 DTrace 和這個(gè)項(xiàng)目的完成,我認(rèn)為當(dāng)我加入 Netflix 后將會(huì)花些時(shí)間來(lái)協(xié)助完成這個(gè)項(xiàng)目。然而,我還是要繼續(xù)使用內(nèi)置的 tracers,如 ftrace 和 perf_events。
8.OL DTrace
Oracle Linux DTrace為了將 DTrace 引入 Linux,特別是 Oracle Linux,做出了很大的努力。這些年來(lái)發(fā)布的多個(gè)版本表明了它的穩(wěn)定進(jìn)展。開(kāi)發(fā)者們以一種對(duì)這個(gè)項(xiàng)目的前景看好的態(tài)度談?wù)撝倪M(jìn) DTrace 測(cè)試套件。很多有用的 provider 已經(jīng)完成了,如:syscall, profile, sdt, proc, sched 以及 USDT。我很期待 fbt(function boundary tracing, 用于內(nèi)核動(dòng)態(tài)跟蹤)的完成,它是 Linux 內(nèi)核上非常棒的 provider。OL DTrace 最終的成功將取決于人們對(duì)運(yùn)行 Oracle Linux(為技術(shù)支持付費(fèi))有多大興趣,另一方面取決于它是否完全開(kāi)源:它的內(nèi)核元件是開(kāi)源的,而我沒(méi)有看到它的用戶級(jí)別代碼。
9. sysdig
sysdig是一個(gè)使用類tcpdump語(yǔ)法來(lái)操作系統(tǒng)事件的新tracer,它使用lua提交進(jìn)程。它很優(yōu)秀,它見(jiàn)證了系統(tǒng)跟蹤領(lǐng)域的變革。它的局限性在于它只在當(dāng)前進(jìn)行系統(tǒng)調(diào)用,在提交進(jìn)行時(shí)將所有事件轉(zhuǎn)儲(chǔ)為用戶級(jí)別。你可以使用系統(tǒng)調(diào)用做很多事情,然而我還是很希望它能支持跟蹤點(diǎn)、kprobe和uprobe。我還期待它能支持eBPF做內(nèi)核摘要。目前,sysdig開(kāi)發(fā)者正在增加容器支持。留意這些內(nèi)容。
延伸閱讀
我關(guān)于 tracer 的工作包括:
ftrace:我的 perf-tools工具集(參考實(shí)例目錄);我在 lwn.net 上的 關(guān)于ftrace的文章;LISA14的發(fā)言;還有帖子:函數(shù)計(jì)數(shù), iosnoop,opensnoop,execsnoop,TCP轉(zhuǎn)發(fā), uprobes 以及USDT。
perf_evenets:我的網(wǎng)頁(yè) perf_events實(shí)例;SCALE上的發(fā)言Netflix的Linux性能分析;還有帖子CPU采樣,靜態(tài)追蹤點(diǎn),熱點(diǎn)圖,計(jì)數(shù),內(nèi)核行追蹤,off-CPU時(shí)間圖。
eBPF:帖子eBPF:邁出一小步,和一些BPF工具(我需要發(fā)布更多)。
SystemTap:我很久以前寫了一篇有點(diǎn)過(guò)期的帖子使用SystemTap。最近,我發(fā)布了一些工具systemtap-lwtools來(lái)演示如何在沒(méi)有內(nèi)核診斷信息的情況下使用SystemTap。
LTTng:我只花了一點(diǎn)時(shí)間,還不足以發(fā)表任何內(nèi)容。
ktap:我的網(wǎng)頁(yè)ktap實(shí)例包含一些早期版本的單行小程序和腳本。
dtrace4linux:我在系統(tǒng)性能一書(shū)中給出了一些實(shí)例,并曾經(jīng)開(kāi)發(fā)了一些小的修復(fù)程序,如timestamps。
OL DTrace:由于它直接由DTrace轉(zhuǎn)變而來(lái),很多我早期關(guān)于DTrace的工作都有相關(guān)性(如果在這里給出鏈接的話就太多了,可以在我的主頁(yè)上搜索)。當(dāng)它更完善時(shí),我會(huì)開(kāi)發(fā)一些特殊工具。
sysdig:我向 fileslower 和 subsecond offset spectrogram 貢獻(xiàn)了代碼。
其他:我寫了關(guān)于strace 的注意事項(xiàng)。
請(qǐng)不要有更多的 tracer!如果你想知道為什么 Linux 不僅僅只有一個(gè) tracer,或者只用本身的DTrace,你可以在我的演講稿從DTrace到Linux中找到答案,從28張幻燈片開(kāi)始。
linuxtrace 域名的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于linuxtrace 域名,LinuxTrace:跟蹤 Linux 系統(tǒng)的域名問(wèn)題,linux怎么traceroute,Linux 下traceroute的工作原理是什么 !,如何選擇一個(gè) Linux Tracer的信息別忘了在本站進(jìn)行查找喔。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開(kāi)通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過(guò)10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
分享題目:LinuxTrace:跟蹤Linux系統(tǒng)的域名問(wèn)題(linuxtrace域名)
文章出自:http://m.5511xx.com/article/dpiohsd.html


咨詢
建站咨詢
