AI机器人 统计
  • 文章总数:246 篇
  • 评论总数:30 条
  • 分类总数:11 个
  • 最后更新:2月28日

nginx 日志分析统计蜘蛛

本文阅读 3 分钟
首页 shell,技术分享 正文

在线分析nginx日志

怎么完成的

其实是我的chatGPT帮我写的,十分的强大!
chatGPT写代码

所以我代码就不解释了,直接上代码,如果有问题请找AI帮忙分析,需要使用AI可以在本网站右上角找到AI机器人点击使用

代码呈现

<?php
/**
 * 蜘蛛统计
 *
 * @package custom
 */
if (!defined('__TYPECHO_ROOT_DIR__')) exit;
$this->need('header.php');

?>
<title>在线网站日志分析-在线蜘蛛统计</title>
<meta name="description" content="这是一个方便统计网站蜘蛛的工具页面。上传日志文件后,可以快速显示各大搜索引擎蜘蛛的数量统计结果。">
<div style="background-color: #ffffff; padding: 20px;">
    <h1>蜘蛛统计分析工具</h1>
    <form method="post" enctype="multipart/form-data">
        <input type="file" name="logfile" />
        <button type="submit">上传日志文件</button>
    </form>

    <?php
    if (isset($_FILES['logfile'])) {
        $file = $_FILES['logfile'];
        if ($file['error'] === 0) {
            $pathinfo = pathinfo($file['name']);
            if (strtolower($pathinfo['extension']) === 'log') {
                $handle = fopen($file['tmp_name'], "r");
                $count = ['Baiduspider' => 0, 'Googlebot' => 0, 'bingbot' => 0, 'Sogou' => 0];
                while (($line = fgets($handle)) !== false) {
                    foreach ($count as $key => &$value) {
                        if (stripos($line, $key) !== false) {
                            $value++;
                        }
                    }
                }
                fclose($handle);

                arsort($count);
                $data = [];
                foreach ($count as $key => $value) {
                    $data[] = [$key, $value];
                }
                ?>

                <div id="chart_div" style="width: 900px; height: 500px;"></div>

                <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
                <script type="text/javascript">
                    google.charts.load('current', {'packages':['corechart']});
                    google.charts.setOnLoadCallback(drawChart);

                    function drawChart() {
                        var data = google.visualization.arrayToDataTable([
                            ['Browser', 'Visits'],
                            <?php foreach ($data as $item) { ?>
                                ['<?php echo $item[0]; ?>', <?php echo $item[1]; ?>],
                            <?php } ?>
                        ]);

                        var options = {
                            title: 'Spider Statistic',
                            pieHole: 0.4,
                            colors: ['#3366CC', '#DC3912', '#FF9900', '#109618']
                        };

                        var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
                        chart.draw(data, options);
                    }
                </script>

                <?php
            } else {
                echo "<p>请上传.log格式的日志文件。</p>";
            }
        } else {
            echo "<p>上传日志文件出错,请重新尝试。</p>";
        }
    }
    ?>

</div>

<?php $this->need('footer.php'); ?>

注意事项

文件上传最大限制会根据nginx或者PHP的配置所受到限制,建议不要改太大,虽然本代码中已经实现了使用逐行读取的方式进行处理。这样可以避免一次性将整个文件读入内存,从而减少内存占用
逐行读取,避免大量占用内存

而我们一般网站的日志都很大,去文件中手动复制出来又很麻烦,所以我写了一段shell脚本去分割日志,把今天的日志单独存在一个文件中,而且多次执行的话会检测文件是否存在,在的话就往里面重写就行了

#!/bin/bash
log_path="/www/wwwlogs/www.xxxx.com.log"
log_dir="/www/wwwlogs"
current_date=$(date +%Y-%m-%d)

# 判断日志文件是否存在
if [ ! -f "$log_path" ]; then
    echo "日志文件不存在"
    exit 1
fi

# 判断备份目录是否存在,不存在则新建
if [ ! -d "$log_dir" ]; then
    mkdir -p $log_dir
fi

# 判断今天的日志文件是否已经存在,存在则将日志内容追加到已存在的文件中,不存在则新建文件
if [ -f "$log_dir/$current_date.log" ]; then
    grep $(date +"%d/%b/%Y") $log_path >> "$log_dir/$current_date.log"
else
    grep $(date +"%d/%b/%Y") $log_path > "$log_dir/$current_date.log"
fi

记得修改位置,然后使用宝塔的计划任务每天执行几次或者隔几小时执行一次即可

更新方向

这只是简单的实现了而已,还能美化界面,包括统计方式只实现了蜘蛛的累计抓取数量,没有统计抓的页面和有多少单独蜘蛛等等,后面有需要我会更新。

原创文章,作者:忆秋先生,如若转载,请注明出处:https://www.ycyaw.com/shell/348.html
Linux查看磁盘空间:使用命令进行盘点
« 上一篇 05-12
Windows与Linux的区别及其影响
下一篇 » 05-13

发表评论

V注册会员 L评论等级
R1 条回复
  1. 2023-05-15     Win 10 /    FireFox

    牛的

没有更多评论了

作者信息

动态快讯

    请配置好页面缩略名选项

热门文章

标签TAG

热评文章

最近回复

Seo-Ul-Dip
20小时前

Мы команда SEO-консультантов, специализирующихся на продвижении сайтов в поисковых системах.
Наша команда гордимся своими успехами и хотим поделиться с вами нашим опытом и навыками.
Какая помощь доступна у нас:
• [url=https://seo-prodvizhenie-ulyanovsk1.ru/]seo раскрутка заказать[/url]
• Подробный анализ вашего сайта и создание персонализированной стратегии продвижения.
• Модернизация контента и технических аспектов вашего сайта для оптимальной работы.
• Ежемесячный мониторинг и анализ данных для постоянного совершенствования вашего онлайн-присутствия.
Подробнее [url=https://seo-prodvizhenie-ulyanovsk1.ru/]https://seo-prodvizhenie-ulyanovsk1.ru/[/url]
Наши клиенты уже видят результаты: увеличение посещаемости, улучшение позиций в поисковых запросах и, конечно же, рост своего бизнеса. Мы готовы предложить вам консультацию бесплатно, для того чтобы обсудить ваши потребности и разработать стратегию продвижения, соответствующую вашим целям и финансовым возможностям.
Не упустите возможность повысить эффективность вашего бизнеса в интернете. Свяжитесь с нами немедленно.

腾讯云OpenVPN实战

ppu-prof_on
3月1日

Наша команда квалифицированных мастеров предоставлена предоставлять вам инновационные средства, которые не только обеспечивают надежную оборону от зимы, но и подарят вашему жилищу модный вид.
Мы занимаемся с последовательными материалами, заверяя продолжительный запас использования и великолепные результаты. Изоляция наружных стен – это не только экономия на прогреве, но и заботливость о экологической обстановке. Экономичные разработки, какие мы претворяем в жизнь, способствуют не только личному, но и сохранению природы.
Самое главное:
Утепление фасадов снаружи москва у нас начинается всего от 1250 рублей за м²! Это доступное решение, которое сделает ваш помещение в действительный теплый локал с минимальными затратами.
Наши проекты – это не только утепление, это образование области, в где каждый компонент символизирует ваш особенный моду. Мы берем во внимание все твои пожелания, чтобы осуществить ваш дом еще больше уютным и привлекательным.
Подробнее на https://ppu-prof.ru
Не откладывайте труды о своем доме на потом! Обращайтесь к исполнителям, и мы сделаем ваш помещение не только более теплым, но и изысканнее. Заинтересовались? Подробнее о наших предложениях вы можете узнать на портале. Добро пожаловать в обитель благополучия и качественной работы.

腾讯云OpenVPN实战