Blog Chia SẻBlog Chia Sẻ

Hướng dẫn cấu hình Command log trên Linux

0

vi /etc/bashrc

# Thêm vào cuối file


export PROMPT_COMMAND='PREV_CMD=$(history 1); RETRN_VAL=$?; if [ "$PREV_CMD" != "$LAST_CMD" ]; then logger -p local6.debug -t Bash_History "$(logname) : $(whoami) : $(pwd) - [$(echo "$PREV_CMD")]"; fi; LAST_CMD="$PREV_CMD"'

# Chạy


source /etc/bashrc

# Chạy


vi /etc/rsyslog.d/bash.conf

# Thêm vào file


# Chỉnh sửa format date trong file
$template myformat,"[%TIMESTAMP:1:10:date-rfc3339% %TIMESTAMP:19:12:date-rfc3339%] %HOSTNAME% %syslogtag%%msg%\n"
$ActionFileDefaultTemplate myformat

local6.* /var/log/commands.log

# Chạy


vi /etc/logrotate.d/syslog

# Thêm vào cuối file


/var/log/commands.log{
    daily
    dateext
    rotate 7
    missingok
    sharedscripts
    postrotate
        /usr/bin/systemctl kill -s HUP rsyslog.service >/dev/null 2>&1 || true
	#hoac
	#/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
    endscript
}

systemctl status rsyslog
systemctl restart rsyslog
/etc/init.d/rsyslog restart

// Check log xem vào chưa
less /var/log/commands.log

====================================================================================

Config fluentd để đọc log command


vi /etc/td-agent/td-agent.conf

  type tail
  path /var/log/commands.log
  pos_file /var/log/td-agent/commands_log.pos
  tag prod-web01.command.log

  format /^\[(?[^\]]*)\] (?[^ ]*) (?[^ ]*) (?<login_name>[^ ]*) : (?<acc_run_bash>[^ ]*) : (?<folder_run>[^ ]*) - \[(?<command>[^\]]*)\]$/
  time_format %d/%b/%Y:%H:%M:%S %z
</source>

<match *.command.log>
  type forward
  <server>
    host 192.168.245.71(ip của server chính phía trên)
    port 24224
  </server>
</match>
</code></pre>
<p>Restart fluentd và check log xem biểu thức Regex đúng chưa.</p>
<pre><code>
service td-agent restart

// check log xem biểu thức Regex đúng chưa.
less /var/log/td-agent/td-agent.log
</code></pre>
</div>
                            </dd>
                                                                
                </dl>

                <h2 class="faq-feedback_ttl">Câu hỏi/câu trả lời này có giải quyết được sự cố của bạn không?<br class="sp-only"></h2>
                <div class="faq-feedback" style="position: relative;">
                    <div class="faq-feedback_inner">
                        <form  action="/" id="">
                            <h3 class="faq-feedback_label">Đánh giá</h3>
                            <div class="radio-box input_like">
                                <div class="radio-inner">
                                    <input type="radio" name="like" id="feedback01" value="1"><label for="feedback01">Giải quyết được</label>
                                </div>
                                <div class="radio-inner">
                                    <input type="radio" name="like" id="feedback02" value="2"><label for="feedback02">Đã giải quyết nhưng khó hiểu</label>
                                </div>
                                <div class="radio-inner">
                                    <input type="radio" name="like" id="feedback03" value="3"><label for="feedback03">Không thể giải quyết</label>
                                </div>
                            </div>
                            <h3 class="faq-feedback_label">Ý kiến ​​(không bắt buộc)</h3>
                            <textarea name="comment" class="comment_page_faq" placeholder="Vui lòng cho chúng tôi biết suy nghĩ của bạn về Câu hỏi thường gặp này. Chúng tôi sẽ tiếp tục cải thiện hơn nữa dựa trên phản hồi của bạn."></textarea>
                            <div class="faq-feedback_btn">
                                <!-- <button  type="submit" disabled="disabled">送信する</button> -->
                                <!-- <button id="feedback_btn" type="button" class="like_comment_submit" disabled="disabled" value="Gửi"> -->
                                <button id="feedback_btn" type="submit" disabled="" class="like_comment_submit" >Send</button>
                            </div>
                        </form>
                        
                        <div class="faq-feedback_count">
                            <p><span>0</span>Nó rất hữu ích cho mọi người.</p>
                        </div>
                    </div>
                    <div class="like_comment_thank" style="opacity: 0;position: absolute;">
                        <p>
                                                            Cảm ơn bạn đã trả lời.                                                        
                        </p>
                    </div>
                </div>

                
	<h3 class="faq-subttl">Tìm kiếm</h3>
    <div class="block-function">
		<form  method="get" action="https://blog.huulc.com/">
			<!-- <div class="faq-checkbox">
                <div class="faq-checkbox_item">
                	<input type="checkbox" name="faq_regis" value="1" id="checkbox01">
                	<label for="checkbox01">ご利用前</label>
                </div>
                <div class="faq-checkbox_item">
                	<input type="checkbox" name="faq_regis" value="2" id="checkbox02">
                	<label for="checkbox02">ご利用中</label>
                </div>
            </div> -->
			<div class="block-search clearfix">
			
				<div class="block-category dropdown select_cat_search_dropdown">
					<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><span>All</span><i class="fas fa-caret-down"></i></a>
					<div class="dropdown-menu">
						<div class="dropdown-item active"><a onClick="selectCatFormSearch(this)" data-slug="1" data-name="All" style="color: #000;">All</a></div>
																			<div class="dropdown-item"><a onClick="selectCatFormSearch(this)" data-slug="language" data-name="Language" style="color: #000;">Language</a></div>
																				<div class="dropdown-item"><a onClick="selectCatFormSearch(this)" data-slug="tool" data-name="Tool" style="color: #000;">Tool</a></div>
																				<div class="dropdown-item"><a onClick="selectCatFormSearch(this)" data-slug="linux" data-name="Linux" style="color: #000;">Linux</a></div>
																				<div class="dropdown-item"><a onClick="selectCatFormSearch(this)" data-slug="note" data-name="Note" style="color: #000;">Note</a></div>
																		</div>
				</div>

				
				<div class="block-category dropdown" style="display:none;">
					<select name="category_n" class="select_cat_search">
						<option value="1">All</option>

																			<option value="language">Language</option>
													<option value="tool">Tool</option>
													<option value="linux">Linux</option>
													<option value="note">Note</option>
											</select>
				</div>
				<div class="block-input">
					<div class="input-group">
						<input type="hidden" name="type" value="vision-faq">
						<span class="input-group-addon" id="basic-addon1"><i class="fas fa-search"></i></span>
						<input type="text" class="form-control faq_search" id="faq_search" autocomplete="off" placeholder="Nhập từ tìm kiếm" aria-describedby="basic-addon1">
						<input type="hidden" id="faq_search_s" name="s" >
						<span class="input-group-btn">
								<button class="btn btn-default" type="submit">Search</button>
						</span>
					</div>
				</div>
				<div class="search-tooltip__wrap">
					<div class="search-tooltip">
						<span class="search-tooltip__icon">Tìm kiếm toàn văn là gì?</span>
						<p class="search-tooltip__txt">Nếu bạn nhập một từ vào cửa sổ tìm kiếm và nhấp vào "Tìm kiếm toàn văn", bạn không chỉ có thể tìm kiếm tiêu đề, thẻ và từ khóa mà còn tìm kiếm các từ có liên quan trong văn bản.</p>
					</div>
				</div>
			</div>
		</form>
    </div>

	
	<div class="panel panel-custom">
		<div class="panel-body">
			<div class="panel-heading listsearch_wrapper_title">Bài viết được tìm kiếm nhiều</div>
			<div class="listsearch_wrapper_default question-list">
									<div class="question-item">
						<a href="https://blog.huulc.com/qa/gui-thong-bao-khi-bi-loi-php-warning-error/"><i class="far fa-comment fa-flip-horizontal"></i><div>Gửi thông báo khi bị lỗi PHP Warning, Error</div></a>
					</div>
					
									<div class="question-item">
						<a href="https://blog.huulc.com/qa/huong-dan-cap-nhat-root-intermediate-ca-tren-linux-server/"><i class="far fa-comment fa-flip-horizontal"></i><div>Hướng dẫn import(cập nhật) chứng chỉ root certifcate trên Linux Server</div></a>
					</div>
					
									<div class="question-item">
						<a href="https://blog.huulc.com/qa/huong-dan-cau-hinh-command-log-tren-linux/"><i class="far fa-comment fa-flip-horizontal"></i><div>Hướng dẫn cấu hình Command log trên Linux</div></a>
					</div>
					
									<div class="question-item">
						<a href="https://blog.huulc.com/qa/huong-dan-cai-dat-metabase-su-dung-fluent/"><i class="far fa-comment fa-flip-horizontal"></i><div>Hướng dẫn cài đặt Metabase sử dụng Fluent</div></a>
					</div>
					
									<div class="question-item">
						<a href="https://blog.huulc.com/qa/huong-dan-cai-dat-v2board-tren-aapanel/"><i class="far fa-comment fa-flip-horizontal"></i><div>Hướng dẫn cài đặt v2board trên AAPANEL</div></a>
					</div>
					
									<div class="question-item">
						<a href="https://blog.huulc.com/qa/gui-thong-bao-khi-co-nguoi-ssh-hoac-gat-ket-noi-ssh-vao/"><i class="far fa-comment fa-flip-horizontal"></i><div>Gửi thông báo khi có người SSH hoặc gắt kết nối SSH vào</div></a>
					</div>
					
									<div class="question-item">
						<a href="https://blog.huulc.com/qa/ci-cd-voi-jenkins-va-docker/"><i class="far fa-comment fa-flip-horizontal"></i><div>CI/CD với Jenkins và Docker</div></a>
					</div>
					
									<div class="question-item">
						<a href="https://blog.huulc.com/qa/partitioning-cho-mysql/"><i class="far fa-comment fa-flip-horizontal"></i><div>Partitioning cho Mysql</div></a>
					</div>
					
									<div class="question-item">
						<a href="https://blog.huulc.com/qa/cach-cap-quyen-sudo-cho-nguoi-dung-trong-linux/"><i class="far fa-comment fa-flip-horizontal"></i><div>Cách cấp quyền Sudo cho người dùng trong Linux</div></a>
					</div>
					
									<div class="question-item">
						<a href="https://blog.huulc.com/qa/su-dung-traits-cho-model-trong-laravel/"><i class="far fa-comment fa-flip-horizontal"></i><div>Sử dụng Traits cho Model trong Laravel</div></a>
					</div>
					
							</div>
			<div class="listsearch_wrapper question-list">
				
			</div>
		</div>
	</div>






	
<script type="text/javascript">
	// jQuery(document).ready(function($) {
	 //    $(".faq-checkbox label").click(function(){
		// 	var wasChecked = !$(this).find("input[type='checkbox']").prop("checked");
		// 	console.log(wasChecked);
		//   	$(".faq-checkbox").find("input[type='checkbox']").prop( "checked", false );
		//   	$(this).find("input[type='checkbox']").prop("checked", (!wasChecked) ? true : false );
		// });
	// });
</script>
                                                
                    <h3 class="faq-subttl">Xem các câu hỏi liên quan</h3>                    
                    <ul class="faq-list">
                                                    <li class="faq-item">
                                <a href="https://blog.huulc.com/qa/huong-dan-cai-dat-metabase-su-dung-fluent/"> 
                                    <div class="faq-item_mark">Q.</div>
                                    <div class="faq-item_txt">Hướng dẫn cài đặt Metabase sử dụng Fluent<span class="faq-item_useful">0</span></div>
                                </a>
                            </li>
                                                    
                                                </ul>
                        
                            
            </div>
        </section>
            </div>
</main>



<style type="text/css">
    .wp_social_bookmarking_light,.wp_social_bookmarking_light_clear{display: none;}
    .like_comment_thank {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0px;
        text-align: center;
        background: #fff;
        opacity: 0;
        font-size: 40px;
        z-index: -1;
    }
    .like_comment_thank p {
        display: inline-block;
        vertical-align: middle;
        line-height: normal;
        padding: 0px;
        margin-top: 140px;
    }
    @media (max-width: 575px) {
        .like_comment_thank {
            font-size: 33px;
            width: 100%;
        }
        .like_comment_thank p {
            padding: 0px 32px 0px 22px;
            margin-top: 225px;
        }
    }
</style>


    

<script type="text/javascript">
    jQuery( document ).ready( function( $ ) {
        
        
        $(".like_comment_submit").attr('disabled','disabled');
        $(".faq-feedback_inner input").change(function() { $(this).is(":checked") ? $("#feedback_btn").prop("disabled", !1) : $("#feedback_btn").prop("disabled", !0) });

        

        $( '.like_comment_submit' ).on( 'click', function( evt ) {
            evt.preventDefault();
            var comment = $('.comment_page_faq').val();
            var radioValue = $("input[name='like']:checked").val();
            var data = {
                'action': 'likecomment',
                'post_id': 645,
                'term_id': 155,
                'like': radioValue,
                'comment': comment
            };
            $.ajax({
                type: "POST",
                url: "https://blog.huulc.com/wp-admin/admin-ajax.php",
                data: data,
                beforeSend: function(xhr){
                    // what to do just after the form has been submitted
                },
                error: function (jqXHR, textStatus, errorThrown) {
                    console.log(errorThrown);
                },
                success: function (response) {
                    $('.like_comment_thank').css('opacity', '0.8');
                    $('.like_comment_thank').css('z-index', '1');
                },
                complete: function(){
                    // what to do after a comment has been added
                }
            })
        });
    });
</script>





        <footer class="footer">
            <div class="footer-in">
                <div class="footer-box" style="display: flex;align-items: center;justify-content: center;margin: 0; ">
                    <!-- <div class="footer-info">
                        <div class="footer-company">
                            <p>SĐT: 0917015299 </p>
                            
                        </div>
                        <ul class="footer-list">
                        <li class="footer-item"><a href="https://www.vision-net.co.jp/company/" target="_blank">会社案内・IR情報</a></li>
                        <li class="footer-item"><a href="https://www.vision-net.co.jp/privacy.html" target="_blank">プライバシーポリシー</a></li>
                        <li class="footer-item"><a href="https://vision-bizmarket.com/cookie_privacy/" target="_blank">クッキーに関するポリシーについて</a></li>
                        </ul>
                    </div> -->
                    <div class="footer-sns">
                        <ul class="footer-sns_list">
                            <li class="footer-sns_item"><a href="https://www.facebook.com/huulec" target="_blank"><img src="https://blog.huulc.com/wp-content/themes/huulc/qa/assets/img/ico-fb.svg" alt=""></a></li>
                            <li class="footer-sns_item"><a href="https://twitter.com/huulect" target="_blank"><img src="https://blog.huulc.com/wp-content/themes/huulc/qa/assets/img/ico-tw.svg" alt=""></a></li>
                            <!-- <li class="footer-sns_item"><a href="https://lin.ee/rzGnlJx" target="_blank"><img src="https://blog.huulc.com/wp-content/themes/huulc/qa/assets/img/ico-line.svg" alt=""></a></li> -->
                        </ul>
                    </div>
                </div>
                                <small class="footer-address">Copyright ©Huulc. Allrights Reserved.</small>
            </div>
        </footer>


                
        <script>
            function dynamicsort(property,order) {
                var sort_order = 1;
                if(order === "desc"){
                    sort_order = -1;
                }
                return function (a, b){
                    // a should come before b in the sorted order
                    if(a[property] < b[property]){
                            return -1 * sort_order;
                    // a should come after b in the sorted order
                    }else if(a[property] > b[property]){
                            return 1 * sort_order;
                    // a and b are the same
                    }else{
                            return 0 * sort_order;
                    }
                }
            }

            function includeArr(arr,str) {
                return (arr.indexOf(str) != -1);
            }

            
            // search And: multiSearchAnd("Chelsey Dietrich Engineer 2018-12-11 Hire", ["cle", "hire"]) //returns false
            // const multiSearchAnd = (text, searchWords) => (
            //     searchWords.every((el) => {
            //         return text.match(new RegExp(el,"i"))
            //     })
            // );

            // search Or: multiSearchOr("Chelsey Dietrich Engineer 2018-12-11 Hire", ["che", "hire"]) //returns true
            // const multiSearchOr = (text, searchWords) => (
            //     searchWords.some((el) => {
            //         return text.match(new RegExp(el,"i"))
            //     })
            // );
            function multiSearchOr (string, searchWords){
                regex = new RegExp(searchWords, "i");
                if ( string.search(regex) != -1 ) {
                    return true;
                }else{
                    return false;
                }
            };
            function loadListSearch(s, cat, catname) {
                var data = dataFAQ;
                if (!s.trim()) {
                    // is empty or whitespace
                    $('.listsearch_wrapper_default').show();
                    $('.listsearch_wrapper').hide();
                    $('.listsearch_wrapper_title').html('Bài viết được tìm kiếm nhiều');
                }else{
                    var arrKeySearch = [];
                    var str = s.replaceAll(" ", " ");
                    $("#faq_search_s").val(str);
                    var res = str.split(" ");
                    if(res.length > 1){
                        for(var i = 0; i < res.length; ++i){
                            // var regex = new RegExp(res[i], "i");
                            arrKeySearch.push(res[i]);
                        }
                    }else{
                        arrKeySearch.push(s);
                    }
                    
                    // console.log(arrKeySearch);
                    //SEARCH FILE JSON
                    // var regex = new RegExp(s, "i");
                    var output = '';
                    
                    var arrdata = [];
                    $.each(data, function(key, val){
                        var objdata = {};
                        var arrKeySearchResultTrue =[];
                        for(var i = 0; i < arrKeySearch.length; ++i){
                            if(multiSearchOr(val.title, arrKeySearch[i]) || multiSearchOr(val.keyword, arrKeySearch[i])){
                                arrKeySearchResultTrue.push(true);
                            }
                        }
                        if( arrKeySearchResultTrue.length == arrKeySearch.length){

                            objdata.id = val.ID;
                            objdata.post_view = val.post_views * 1;
                            objdata.title = val.title;
                            objdata.keyword = val.keyword;
                            objdata.url = val.url;
                            objdata.cats = val.cats;
                            arrdata.push(objdata);

                        }
                    });
                    // reverse
                    data2 = arrdata.sort(dynamicsort("post_view","desc"));
                    $.each(data2, function(key, val){
                        var title = val.title;
                        for(var i = 0; i < arrKeySearch.length; ++i){
                            // title = title.replace(arrKeySearch[i], "<span class='hit'>"+arrKeySearch[i]+"</span>");
                            var replace = arrKeySearch[i];
							var searchX = new RegExp(replace,"i");
                            title = title.replace(searchX, "<span class='hit'>$&</span>");
                        }
                        title_result = title;
                        if(cat == 1){
                            
                            output += '<div class="question-item"><a href="'+ val.url +'"><i class="far fa-comment fa-flip-horizontal"></i><div>'+ title_result +'</div></a></div>'
                                    
                        }else{
                            
                            if(includeArr(val.cats, cat)){
                                output += '<div class="question-item"><a href="'+ val.url +'"><i class="far fa-comment fa-flip-horizontal"></i><div>'+ title_result +'</div></a></div>'
                            }
                        }
                        
                    });

                    $('.listsearch_wrapper').html('');

                    // var data = JSON.parse(i);
                    if ( output.length == 0 ) {
                        $('.listsearch_wrapper_default').hide();
                        $('.listsearch_wrapper').show();
                        $('.listsearch_wrapper').html("<div style='text-align: center;'>Không có post nào khớp với từ bạn đã nhập. <br>Vui lòng sử dụng tìm kiếm toàn văn hoặc nhập một từ khác.</div>");
                        
                        
                    }else{
                        $('.listsearch_wrapper_default').hide();
                        $('.listsearch_wrapper').show();
                        $('.listsearch_wrapper').html(output);
                    }

                    if(cat == 1){
                        $('.listsearch_wrapper_title').html('Tìm kiếm');
                    }else{
                        $('.listsearch_wrapper_title').html(catname.replace("— ", "")+'câu hỏi của bạn'); 
                    }
                    // END SEARCH FILE JSON


                }
                
            }

            
            var string_search_click_old = '';
            function searchText(thisz) {
                var s = thisz.getAttribute("data-string");
                if ($.trim(s).length == 0) {
                    // is empty or whitespace
                }else{
                    string_search_click_old = s;
                    $('.faq_search').val(s);
                    $('.faq_search').focus();
                }
            }
            

            var faq_search = document.getElementById('faq_search');
            faq_search.addEventListener("keydown", function(e) {
                switch (e.code) {
                    case "ArrowLeft":
                        // Left pressed
                        break;
                    case "ArrowRight":
                        // Right pressed
                        break;
                    case "ArrowUp":
                        setTimeout(function(){
                            $( ".faq_search" ).focus();
                        }, 100);
                        break;
                    case "ArrowDown":
                        setTimeout(function(){
                            $( ".faq_search" ).focus();
                        }, 100);
                    
                        break;
                }
            });
            ['compositionstart', 'compositionupdate', 'compositionend'].forEach(function (event) {// fix safari ios
                faq_search.addEventListener(event, function (ev) {
                    setTimeout(function(){
                        $( ".faq_search" ).focus();
                    }, 100);
                }, true);
            })
        
            $(function () {
                
                $('.listsearch_wrapper').hide();

                $( ".faq_search" ).keyup(function(e) {
                   loadListSearch($(this).val(), $( "select.select_cat_search" ).val(), $("select.select_cat_search option:selected").text());
                });


                $( ".faq_search" ).focus(function() {
                    loadListSearch( $(this).val(), $( "select.select_cat_search" ).val(), $("select.select_cat_search option:selected").text());
                });

                loadplaceholder();

            });


            
            function selectCat(thisz) {
                var s = thisz.getAttribute("data-string");
                
                if ($.trim(s).length == 0) {
                    // is empty or whitespace
                }else{
                    $('select.select_cat_search').val(s).change();
                }
            }

            $( "select.select_cat_search" ).change(function() {
                loadListSearch($( ".faq_search" ).val(), $( "select.select_cat_search" ).val(), $("select.select_cat_search option:selected").text());
            });


            function loadplaceholder() {
                var time = 1000;
                var arr = [ "VD: k8s", "VD: Git", "VD: aws" ];

                for ( var i = 1, l = 100; i < l; i++ ) {
                    $.each(arr, function( k, v ) {
                        setTimeout( function(){ 
                            $('.faq_search').attr("placeholder", v);
                        }, time)
                        time += 5000;
                    });
                    time = time;
                }  
            }

            function selectCatFormSearch(thisz) {
                var s = thisz.getAttribute("data-slug");
                var n = thisz.getAttribute("data-name");
                
                if ($.trim(s).length == 0) {
                    // is empty or whitespace
                }else{
                    $('.select_cat_search_dropdown .dropdown-item').removeClass("active");
                    $(thisz).parent().addClass('active');
                    $('.select_cat_search_dropdown .dropdown-toggle span').html(n);

                    $('select.select_cat_search').val(s).change();
                    
                }
                
            }

        </script>

	</body>
</html>

<!-- Cached by Speed Booster Pack -->
<!-- Optimized by Speed Booster Pack v4.5.6 -->